At first, let's look at the picture the following.

http://netkiller.hikz.com/article/architecture/perl_solution.png

you saw Load balancing it might be hardware as F5 BigIP or four layer swith as LVS(Linux Virtual Server).

here we need two machine for that. one is Primary, the other is Secondary. the Primary and Secondary connect to each other by heartbeat. the heartbeat line you might choose serial port(ttyS0) or ethernet(eth1).

secondly, it is cache by reverse proxy. I thought that I needn't said it. we have a lot of node for cache.

next, has three part of cluster on the application.

1. static cluster (html archives)
2. active cluster (perl script)
3. multimedia cluster (image, flash and extra)

active cluster

we have two way for you.

one way, apache with mod_perl, two way is lighttpd with fastcgi. whichever ways is OK all.

also we have a lot of node for active cluster, and each node to synchronize to each other via csync software.

I used memcached in the between perl script and database.

the database is MySQL Cluster, also has a lot of node.

static cluster

has some data must be to generate html archive. I also using csync to synchronize to each other node.

multimedia cluster

I will all of multimedia put on else cluster.

and using DFS(Distributed Filesystem) by storage.

also has a lot of node for multimedia cluster.

welcome to discuss with me.