Tech News: mod_cluster and embedded AS November 10, 2008Posted by Sacha in JBoss.
JBoss’s clustering and httpd teams recently announced the first beta of mod_cluster and I am not sure it got the visibility it deserves, so I wanted to give it more exposure as it aims at solving a frequently faced issue.
I bet you have already tried using mod_jk or mod_proxy in the past? I am writing “tried to use” because using those modules has never been a trivial task. In the last years, Mladen Turk and Jean-Frederic Clere have done a great job at sanitizing the releases and providing up-to-date documentation with the binaries (I never quite got the mod_jk1.2 vs. mod_jk2 relationship right…), yet they needed another level of abstraction to start implementing some long missing features such as dynamic load-balancing as well as the ability for the load-balancer to react to specific AS lifecycle events (new node joining, clean shutdown of a node, app (un-)deployment, etc.)
From the mod_cluster project homepage:
mod_cluster is an httpd-based load balancer. Like mod_jk and mod_proxy, mod_cluster uses a communication channel to forward requests from httpd to one of a set of application server nodes. Unlike mod_jk and mod_proxy, mod_cluster leverages an additional connection between the application server nodes and httpd. The application server nodes use this connection to transmit server-side load balance factors and lifecycle events back to httpd via a custom set of HTTP methods, affectionately called the Mod-Cluster Management Protocol (MCMP). This additional feedback channel allows mod_cluster to offer a level of intelligence and granularity not found in other load balancing solutions.
Within httpd, mod_cluster is implemented as a set of modules for httpd with mod_proxy enabled. Much of the logic comes from mod_proxy, e.g. mod_proxy_ajp provides all the AJP logic needed by mod_cluster.
So please, give a try and let the mod_cluster team know what you think about it (I maintain it should have been called mod_mladen or mod_jfc).
The other good news is that since AS5.0 GA will soon land, we can refocus some resources on some other efforts, and this include Embedded JBoss. Consequently, if you have ideas/requirements or time in your hands to help, please join the team, this is a much requested feature.