www-modproxy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hildenbrand, Patrick" <patrick.hildenbr...@sap.com>
Subject RE: modproxy load balancer
Date Wed, 18 Jun 2003 07:04:30 GMT

I would also be more than interested and I guess much more ppl not reading this list, especially
those using mod_rewrite as a reverse proxy.

Some more input

- load balancing algorithm: please add: priority driven by external function (can be file
input, ...., timeout for refresh should be configurable) (we have some functions to determine
the internal system load, we could query). If mod_backhand would be used, this should already
work (at least as far as I understood the docs)
- automatic detection: until server refresh or until external function signals somehow else,
that the server is up again. (some systems will be connectable even though they are malfunctioning,
how can we remove them ?)
- doing routing decisions on URL basis would be great, as this would support Apache based
Reverse proxy setups the best.

Session persistency would be a must though, as some others have stated already.  Session persistency
could be based on
 - based on a cookie, mod_proxy sets (cookie injection)
 - based on rewriting the URL to the browser (mod_proxy would need to remove the 
   additional stuff prior connecting to the backend
 - based on a cookie or other content in the DataStream (something which got set
   by the backend)
based on IP only is not the best solution, as for large companies, a lot of their users will
come from their proxies IP address.
Doing this, the session would allow us to keep it's state based on information given to mod_proxy
by the browser itself (this is a common setup for commercial loadbalancers). Especially cookie
injection and URL rewriting would be of interest I guess, as these would not require internal
session tables for persistency. You could use a per server token for the mapping, thus immediatly
forwarding the request to the right server. It would only be tricky to support url based balancing
with this setup. 

At a later point it would be great, if session persistency could also be limited to certain
URL's only. Stuff like graphics often can be retrieved from any backend server.

I'm not quite sure, whether mixing loadbalancing into mod_rewrite will help like Eli Manor
suggested. We use mod_rewrite to limit access to backend systems, mixing these config directives
with the LB setup would probably be even more confusing. I'm in favor of a separate set of
directives as you suggested.

BTW: to my knowledge mod_backhand does not currently support apache 2.0 only 1.x, at least
based on the FAQ section http://www.backhand.org/mod_backhand/FAQ.shtml#question0. Theo Schlossnagel
should be the expert to this matters maybe he can shed some light on this. 

Kind regards,

Patrick Hildenbrand

Any views or opinions presented in this email are solely mine and do not necessarily represent
those of my company.

-----Original Message-----
From: Bill Stoddard [mailto:bill@wstoddard.com]
Sent: Freitag, 13. Juni 2003 16:29
To: modproxy-dev@apache.org
Subject: modproxy load balancer

Ping to all list citizens (listizens?) ...
Who would be interested in seeing some load balancing function being put 
into mod_proxy?  Anyone given any though on what you would like to see 
or maybe even have a design proposal you'd like to discuss?

My short requirements list:
- selectable load balancing algorithm: Round robin, LRU,  response time, 
url driven, session affinity, ?
- automatic detection of backend server failure and removal of the 
failed server from the load balancing routing tables (forever? for a 
period of time? other?)
- connection pooling using HTTP keep-alive (this is a no brainer since 
it is a simple extension of what browsers already do, but it needs to be 
designed in from the start)
- must be effective with multiple child processes, each child must make 
routing decisions globally based on stats maintained in a shared memory 

To do this properly, I would think we need some new config directives. 
Perhaps a new container directive to define a group of backend servers,  
another container directive to define URLs served by a particular group 
of backend servers. Need some way to bind a url group to a server group.


View raw message