Jim Jagielski wrote:
I'm currently working on code that extended the lb method
within the 2.1/2.2 proxy from what is basically a
weighted request count to also be a weighted
traffic count (as measured by bytes transferred)
and a weighted "load" count (as measured by response
time).

Sure, the general idea was to allow different lb methods. I've started to collect the transferred for various protocols to be able to do a traffic balancing. You have that params already present in the shared memory, so making sure we collect the real values transferred is a first step thought.

I'm also working on extending the load balancer to
a domain clustering model for grouping cluster nodes
in groups to lower the session replication transfer
for backends that offer the session replication.

The former is further along and the methods
will be selectable at runtime... This is definitely
a scratch I'm itching, but before I spend too much
(additional) time on it, I'd like some feedback
on whether the concept is one we can all get behind.


+1.

I am also toying with the idea of supporting
a CPU load method when the origin servers are
Apache via a custom response header...


Well, that'll be awesome to achieve, not only to dynamically update the balancer node member, but to safely remove it from the cluster in a two phase process if the backend 'decides' so. Right now this is possible using 'balancer-handler', so the dynamic logic is there already.

The header processing should also allow to
discover the topology dynamically (there is
already PROXY_DYNAMIC_BALANCER_LIMIT meant to
be used for that).
I'm not sure if this will be possible on all
protocols but we have a long-standing AJP13
extension proposal that if implemented will
allow that kind of operation.
http://jakarta.apache.org/tomcat/connectors-doc/common/ajpv13ext.html

Regards,
Mladen.

Reply via email to