Kevin Coyner wrote:
I have a client whom I host on my server that insists on virtually 100% uptime for his website. While 100% might be stretching it a bit, how is this best done? Is it a combination of software and DNS? I know some sites run mirrors, but that usually involves clicking a link to go to that specific mirror. Is it possible to have this be transparent, so that if person visiting the site fails to connect to the primary webserver (because it is down), then he/she is automatically switched to a backup mirror? I actually have two separate boxes with different IP's, both running Debian and Apache 1.3. The client's website is on one box and the other box could be used if needed.
You need to do load balancing. Typically you use an appliance (we use Cisco Local Director) but you could build a load balancer using iptables. Basically one box (the load balancer) answers incoming requests and hands them off to a pool of servers that all share the content. If one goes down then the director does not send it requests (it is said to be offline). If the local director goes down you loose the cluster. This has only happened once in five years. Our network sees roughly 500 million hits a day and we do a sustained 1.2Gbps of traffic at any given time. We have load balance pools of 10 to 20 server clusters in order to provide _actual_ 24 hour service to customers. -- "Education is what remains after one has forgotten everything he learned in school." - Albert Einstein
Attachment:
signature.asc
Description: OpenPGP digital signature