If you're fortunate enough to be looking after a web site that's so busy that a single server can't handle all of your traffic, what should you do?
One popular approach is to use a piece of specialised hardware - a load balancer - that sits in front of your network and distributed requests to a series of machines to service the requests. Devices such as the Cisco CSS 11506 Content Services Switch (CSS11506-2AC) , for example. But such devices cost money - this one pops up for around $20,000; other may be as little as a third of that price, but still serious money.
some sites / applications where such a device is the best way to go - but there are other ways too if your site is too busy for one server to do everything ... but not swamped by an order of magnitude. You could, for example, run a front end system to proxy all requests through to one of a series of back end server where the real application work is done. And that front end system needs to be nothing more complex that a regular system running Apache httpd, using mod_proxy and mod_proxy_balancer to distribute traffic onwards. It's not ALWAYS going to be the solution for you, but as your site grows beyond the capacity of a single machine, it will allow for expansion without a huge investment in a specialist device and the training on and support thereof.
It's been pointed out to me that using an instance of httpd to forward all traffic leaves a single point of failure. Well - so does a hardware balancer in the scenario I have described above. Heartbeat scripts, checking device, etc, can overcome this issue and it need not be a concern.
We cover forwarding from Apache httpd on our Linus Web Server
course and on our Apache / Tomcat deployment course
. The first course is the one you should choose if you're forwarding to more instances of httpd, and the second if you're using httpd to front one or more Tomcat Java Application Servers. (written 2009-01-15)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesG913 - Well House Consultants - Hardware and Devices 
Hostnames spring forward - (2006-03-02) 
Latercomer to the technology - (2007-07-29) 
What a shock - (2008-10-08) 
Huawei D100 Wireless Router - Mobile Internet - (2009-02-10) 
Effect on server when memory runs out and swapping starts - (2009-02-26) 
Camera to record where a picture was taken - (2009-05-18) 
Web page to telephone calls / links using an iPhone - (2010-03-08) 
MacBook Air - hardware and system review - (2010-11-17) 
Change of balance, of attitude, and of work method - (2010-11-30) 
Away to train - but still around by video for Melksham meetings - (2011-09-25) 
Want to learn iPad and iPhone programming? Come along and learn with me for free. - (2012-01-28) 
Setting up your MacBook Air as a mobile broadband router - (2013-07-07)A690 - Web Application Deployment - Clustering and load balancing 
Clustering, load balancing, mod_rewrite and mod_proxy - (2006-11-21) 
Sharing the load with Apache httpd and perhaps Tomcat - (2007-03-29) 
More HowTo diagrams - MySQL, Tomcat and Java - (2008-08-24) 
Automated server heartbeat and health check - (2009-01-16) 
Sharing the load between servers - httpd and Tomcat - (2009-02-28) 
Load balancing with sticky sessions (httpd / Tomcat) - (2009-10-29) 
Clustering on Tomcat - (2009-10-30) 
Distributing the server load - yet ensuring that each user return to the same system (Apache httpd and Tomcat) - (2011-05-18) 
Simplest ever proxy configuration? - (2011-06-28) 
Distributed, Balanced and Clustered Load Sharing - the difference - (2012-10-13) 
Java web application for teaching - now with sessions and clustering / load balancing demonstrations - (2015-02-20)
Some other Articles
Travelling to a course - station pickupsAdvise before my Apache / Tomcat coursetomcat-users.xml; what a difference a space madeLoad Balancing - Hardware or Software?A good time to travelRules for a KingSpeaking all the languagesSo sad to see you goMelksham, Wiltshire. Town Crier Competition, 2009