On Jan 11, 2005, at 9:44 AM, Jim Jagielski wrote:
On Jan 11, 2005, at 4:20 AM, Ben Laurie wrote:
Justin Erenkrantz wrote:
--On Saturday, January 8, 2005 10:43 PM +0000 Ben Laurie <[EMAIL PROTECTED]> wrote:
Errr... mod_backhand?
mod_backhand doesn't support Apache 2.x:
<http://www.backhand.org/mod_backhand/FAQ.shtml#question0>

Port it?


I think that we can come much further along with extending the lb capability in proxy... For more sophisticated and demanding environments, an external lb mechanism is likely used. So my pers. pref would be to see what can be done in proxy before seeing if mod_backhand even needs to be ported. I don't think that the web server should need to do everything :)

Having mod_backhand use mod_proxy isn't very difficult. We implemented that for a client. I don't understand the comment about the web server doing stuff. mod_proxy sits inside apache and adheres to the same limitations do to it architectural position as mod_backhand.


mod_backhand already allows for users to write their own arbitrary load balancing decision functions and run them. Perhaps looking at it wouldn't be so bad as it has been around for a while and understands the problems inherent in building a load balancer inside of a web server.

One extremely important thing to consider is that Alteons and all their appliance competitors support 100k concurrent SMTP sessions at a _bare minimum_. Apache 2 is hard pressed to do that. So, you need more than one front-end load balancer to share the load balancing over. At this point, the issues of decision making compound dramatically as total knowledge is lost. As the 2+ front-end load balancers are all accepting client-originated traffic, they don't know the decisions that the other peers are making. This results in hard contention problems to solve -- which mod_backhand accounts for.

So, if you go implement something I have some advice. Don't speculate on what you think is cool or what worked for you in your specific environment. Alteon and big/ip and foundry, etc. etc. all have several load balancing policies for a _reason_. They all don't work everywhere. There is a lot of theory and research behind this stuff. go read some Sigmetrics issues and make sure you wrap your head around the whole problem before you "solve it" -- because you will be disappointed with the "it" you wind up with.

// Theo Schlossnagle
// Principal Engineer -- http://www.omniti.com/~jesus/
// OmniTI Computer Consulting, Inc. -- http://www.omniti.com/
// Ecelerity: fastest MTA on Earth



Reply via email to