Blog : Trick My Proxy: Front Apache Tomcat with HAProxy instead of Apache

posted by jbrisbin on July 12, 2010 09:14 AM

It used to be common practice to "spare" the Tomcat server the drudgery of serving static content like images, CSS stylesheets, and JavaScript because it was faster to do that with Apache. That really hasn't been the case for quite a while now. With Tomcat adopting NIO and some of the really low-level performance improvements of sendfile and Asynchronous IO (AIO), it's not strictly necessary to have Apache in front of Tomcat any more.

We're probably like a lot of folks, though, and we have to have an Apache server somewhere to support the PHP applications we have (bad idea, long story). Since we already have an Apache server, we also use it to serve our static resources, just like everyone's been doing for years. We started with mod_jk because that was the only viable option at the time. When mod_proxy got AJP support, we switched to using Apache's mod_proxy and saw a nice performance boost. We stayed with this configuration for several years just because it's not terribly complicated and it just works.

But fronting Tomcat servers with Apache is pretty limiting when you start talking private cloud architectures. I discovered some big problems when I first fired up our SpringSource tcServer instances fronted by a couple of DNS round-robin load-balanced Apache servers. Tomcat was getting confused because requests were coming through different front-end proxies. I wrote my own session manager, which I discussed recently in two blog posts (<a data-cke-saved-href=" http:="""" blog="" 2010="" 06="" 21="" clustering-cloud-friendly-tomcat-sessions-rabbitmq-part-i"="">Part I & Part II), to get around this problem. But I still had the limitation of forcing users to go to an Apache server before being able to access the dynamic resources located in my tcServer backends. This created issues when I needed to take down the server Apache was running on.

Read More



Developers, Operations | HAProxy, mod_proxy, Tomcat Configuration

Knowledge Base : Connectors for Apache front-end and Apache Tomcat back-end

posted by SpringSource on October 27, 2009 02:19 PM

Understanding mod_jk, mod_proxy, and mod_proxy_ajp

There are three main modules available for connecting Apache to Tomcat:



This module has the load balancing capability that was not supported in mod_proxy prior to Apache 2.2. The use of mod_proxy_ajp is preferred over mod_jk for Apache 2.2 or later.

For further documentation on mod_jk, see the official documentation as provided by the Apache Software Foundation:

Working with mod_jk:

Read More



Operations | connectors, mod_jk, mod_proxy

Syndicate content