On Aug 16, 2004, at 6:54 AM, Pier Fumagalli wrote:
On 11 Aug 2004, at 17:14, Mladen Turk wrote:
Hi all,
We've finished the initial development of extended mod_proxy. Since the development took place at jakata-tomcat-connectors, the source code can be found under ajp/proxy.
Here is the list of major features added: 3. Added new module proxy_balancer
What's wrong with:
ProxyPassReverse / http://localhost:8888/ ProxyPreserveHost On RewriteMap hosts rnd:/opt/apache/conf/tables/hosts.map RewriteRule "^/(.*)" "${hosts:live}/$1" [P,L]
It's in there already, and it works great (I even have a couple of CGIs reading and building up that table, enabling, disabling and prioritizing hosts).
http://wiki.apache.org/cocoon/ApacheModProxy http://wiki.apache.org/cocoon/LoadBalancingWithModProxy
Having a human weigh or prioritize hosts may work well in a small environment, but it is too much to manage in a large one. Besides, while random selection is a decent algorithm under certain circumstances, mod_proxy lacks the insight into the global state of resources to make truly intelligent resource-based allocation decisions.
I haven't had the time lately, but you (all) are welcome to dissect the mod_backhand (Apache 1.3) module and pull the resource collection and decision making framework out and put in into mod_proxy for Apache 2. The algorithms therein are flexible, proven and even extensible. We have seen several large architectures use m_b with great success in front of even ISS servers and Java application servers of all types.
http://www.backhand.org/mod_backhand/
// Theo Schlossnagle // Principal Engineer -- http://www.omniti.com/~jesus/ // OmniTI Computer Consulting, Inc. -- http://www.omniti.com/ // Ecelerity: fastest MTA on Earth