> Re: mod_proxy / mod_proxy_balancer
> Jess Holle <jessh(a)ptc.com>
> Wed, 06 May 2009 08:07:27 -0500
> jean-frederic clere wrote:
>>> Should general support for a query URL be provided in
>>> mod_proxy_balancer? Or should this be left to mod_cluster?
>> Can you explain more? I don't get the question.
> What I mean is
> 1. Should mod_proxy_balancer be extended to provide a balancer
> algorithm in which one specifies a backend URL that will provide a
> single numeric health metric, throttle the number of such requests
> via a time-to-live associated with this information, and balance
> on this basis or
mod_heartmonitor.c does a heartbeat logic.
> 2. Should mod_cluster handle this issue?
mod_manager of mod_cluster fills the nodes tables with the load
information from the cluster.
> 3. Or both?
> * For instance, mod_cluster might leverage special nuances in
> AJP, JBoss, and Tomcat, whereas mod_proxy_balancer might
> provide more generic support for helath checks on any back
> end server that can expose a health metric URL.
In mod_cluster we use another connection to receive the information from
the cluster. The STATUS message gives httpd the loadfactor and is used
to check the connection between httpd and the node.
> >From your response below, it sounds like you're saying it's #2, which
> is /largely /fine and good -- but this raises questions:
> 1. How general is the health check metric in mod_cluster?
> * I only care about Tomcat backends myself, but control over
> the metric would be good.
The metric is in the AS cluster logic, we plan to have something in Tomcat.
> 2. Does this require special JBoss nuggets in Tomcat?
> * I'd hope not, i.e. that this is a simple matter of a
> pre-designated URL or a very simple standalone socket protocol.
The communication between the nodes AS cluster logic and cant be use
easily on Tomcat. The MCMP protocol between httpd and AS is an http
> 3. When will mod_cluster support health metric based balancing of Tomcat?
In the next version we will have something.
> 4. How "disruptive" to an existing configuration using
> mod_proxy_balancer/mod_proxy_ajp is mod_cluster?
> * How much needs to be changed?
mod_proxy_ajp/mod_proxy_http is the transport part.
mod_cluster tries to be a zero configuration module. Basicly you just
needto comment out the mod_proxy_balancer definition and add some
LoadModule directives, add a virtual host to receive the MCMP messages
and that is it.
> 5. How portable is the mod_cluster code?
> * Does it build on Windows? HPUX? AIX?
Windows, HPUX bundles are already produced today, I don't except
problems in AIX. I will just try it and give you feedback.
> I say this is largely fine and good as I'd like to see just the
> health-metric based balancing algorithm in Apache 2.2.x itself.
>>> Does mod_cluster provide yet another approach top to bottom (separate
>>> than mod_jk and mod_proxy/mod_proxy_ajp)?
Everything is created from shared memory areas.
>> Mod_cluster is just a balancer for mod_proxy but due to the dynamic
>> creation of balancers and workers it can't get in the httpd-trunk code
>> right now.
Well we used a modified httpd-2.2.x/modules/proxy and we have rewritten
part of the logic that creates the workers and the balancers.