Mladen Turk wrote:
> Here is what I meant:
>
>
> ProxyPass /url balancer:number//[stickysessionname | none]/[nofailover]
>
> ProxyRemote balancer:number <ajp|http>://host-1(lbfactor)
> ProxyRemote balancer:number <ajp|http>://host-2(lbfactor) ...
> ProxyRemote balancer:number <ajp|http>://host-n(lbfactor)
>
> And (eventually) ...
>
> ProxyPassReverse /url balancer:number
>
>
>>A load balancing module should be using it's own directive for this,
>>not ProxyPassReverse.
>>
>
>
> You may have other ideas perhaps.
> Feel free to share them. It's still in early design stage :)
:)
I have been mulling this over in my head for a bit. What do you think of
defining a group of load balancing servers that serve requests, such as:
<ProxyBalancer myCluster>
BalancerMember host1:port [balancer params]
BalancerMember host2:port [balancer params]
</ProxyBalancer>
Later in the config we then do this:
ProxyPass /myWebapp ajp://myCluster/myWebapp
The balancer params could include things like:
BalancerMember host:port loadfactor=12, dynamic=true
The "dynamic=true" could mean "the backend server(s) will return headers
that add, or gracefully remove servers from this cluster. Allow this to
happen".
The balancer app would be technically independant of protocol, however
some protocols may want to provide the balancer with more information
about the cluster state. The balancer might provide hooks for this, or
there might be an official way of updating the balancer scoreboard
directly from within proxy_http or proxy_ajp.
A simplest case of balancer, in other words in the case where you've
said "connect to host myCluster" but myCluster has not been defined,
fall back to looking up "myCluster" in DNS.
Regards,
Graham
--