Training, Open Source computer languages

PerlPythonMySQLTclRubyC & C++LuaJavaTomcatPHPhttpdLinux

Search our site for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
Load Balancing with Apache mod_jk (httpd/Tomcat)

A single instance of Apache httpd can handle a very large number of simple requests for files to be served ... but a single instance of Apache Tomcat can handle far fewer requests for applications to be run. After all, there's a big difference between just handing someone a piece of data and having to work out something complicated to answer a question.

And so with users wishing to have a single point of contact for a web site, it makes sense to run an instance of httpd which serves out all the simple files, but passes requests on to multiple instances of Tomcat when it gets something that needs a bit of work doing. There are no fewer that three ways of doing this - mod_proxy_balancer, mod_rewrite and mod_jk. And I've got examples of the configuration files for mod_jk here today.

Here's an example of the extra configuartion needed in the Apache httpd configuration file - (/usr/local/apache2/conf/httpd.conf)

LoadModule jk_module modules/mod_jk.so
JkWorkersFile /usr/local/apache2/conf/jkworkers.properties
JkMount /latmjdemo* catkin


And here's the jkworkers.properties file:

worker.list=catkin
worker.oak.port=8009
worker.oak.host=192.168.200.1
worker.oak.lbfactor=5
worker.elm.port=8009
worker.elm.host=192.168.200.158
worker.elm.lbfactor=15
worker.catkin.type=lb
worker.catkin.balanced_workers=oak,ash
worker.catkin.sticky_session=1


Traffic is forwarded to a Tomcat server called "Oak" on 192.168.200.1, or a Tomcat server called "Elm" on 192.168.200.158, with that latter getting 3 forwards for every one passed to Oak.

The "sticky_session" is worth comment. Rather than randomly forwarding tarffic to either server, httpd will forward users who already have sessions established to the same system right through their session. That way, a multiple page process (such as an on line ordering system) can easily be implemented without the need for a lot of extra code to share work-in-progress data between the various Tomcat server.

In order for sticky sessions to work, you need to configure your jvmRoute in Tomcat to reflect the server name; all of this covered on our Deploying Java Applications on Linux course.
(written 2007-10-02 21:33:14)

 
Associated topics are indexed under
A603 - Web Application Deployment - Further httpd Configuration
A657 - Web Application Deployment - Using httpd to front Tomcat
A900 - Web Application Deployment - Tomcat - Extra Features

Back to
Choosing between mod_proxy and mod_rewrite
Previous and next
or
Horse's mouth home
Forward to
Etag in http headers - what is it?
Some other Articles
Using a MySQL database to control mod_rewrite via PHP
Static variables in PHP
Simple page password protection - PHP
Etag in http headers - what is it?
Load Balancing with Apache mod_jk (httpd/Tomcat)
Choosing between mod_proxy and mod_rewrite
Python v Ruby
Maidenhead Coffee Challenge
New Month, New Quarter, New Laws
A taster PHP expression ...
1891 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

© WELL HOUSE CONSULTANTS LTD., 2008: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 0800 043 8225 or 01225 708225 • FAX: 0845 8382 405 or 01225 707126 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho