Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Load balancing uPortal behind Apache (HTTP Server) is a common and in-expensive way to host a single uPortal service across multiple servers.

Apache JServ Protocol (AJP)

Apache JServ Protocol is a binary protocol used to proxy inbound requests from a web server (e.g. Apache) to application servers. AJP is commonly used with Apache and Tomcat.

Choosing A Plugin

Apache Web Server is a long-standing project with a large ecosystem of plugins. It is no surprise that there are multiple ways to configure Apache and Tomcat servers given this fact.

Mod_JK

The mod_jk plugin is fairly old. It is still functional and many experienced implementors are familiar with it. This is the main motivation to use this plugin over the mod_proxy_ajp.

Load Balancing with Mod_JK

Mod_Proxy_AJP

The mod_proxy_ajp plugin is part of the modern mod_proxy* set of plugins. These have a consistent style of configuration. Implementors with mod_proxy experience will likely favor this plugin.

Load Balancing with Mod_Proxy_AJP

Considerations

One consideration is whether to host Apache separately in it's own server or host it with a Tomcat (web container). Note that while the approach detailed below is specific to Apache and Tomcat, similar solutions for other containers should be easy to find. An advantage of having a Tomcat with Apache is that as long as the load balancing server is running correctly, it the service is available. Connection loss to other Tomcats, although performance will likely suffer. The downside is a potential that a flakey Tomcat on the load balancer may compromise the whole service if it brings down this critical server. The nice part of this decision is that configuring Tomcat local to Apache can be done the same as for remote Tomcats. They are  independent even with hosted on the same server.

  • No labels