httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Watts <m.wa...@eris.qinetiq.com>
Subject Re: Missing proxy_balancer feature
Date Wed, 30 Jun 2010 12:05:29 GMT

> As a reasonably heavy user of mod_proxy - all our web sites are
> proxied through a pair of reverse proxies - would you be interested in
> the problems we have encountered using it?
> 
> In particular, bug 45950 is symptomatic of our issues. We can't
> adjust/tune our reverse proxy servers and gracefully restart, because
> the proxy worker state is utterly mangled following a graceful
> restart.
> This means we must do a full restart to avoid mangling state, which in
> turn means any balancer that has had its configuration dynamically
> changed via balancer_manager will have its configuration reset to the
> config on disk.
> 
> The usual result of this is that sysadmin A will restart the proxies,
> unaware that sysadmin B has configured site S to be reverse proxied to
> application server app2 rather than app1, as app1 is undergoing
> maintenance and is down => we just broke one of our sites.
> 
> The other net result is that we are now loath to adjust/restart apache
> on the proxy servers, since we must do a hard restart, disrupting any
> sessions on that server. This is so onerous that we are now discussing
> moving away from apache as a reverse proxy, and instead looking at
> things like pound, varnish, perlbal.
> 
> This is a shame, as mod_proxy has many plus points - particularly that
> it's apache underneath, with all the flexibility that allows, and the
> mindshare that apache has already.
> 
> Cheers
> 
> Tom

A restart of httpd (graceful or otherwise) has no understanding that the
running config can be any different from that on disk.

Indeed, how would httpd differentiate between a restart to reconfigure a
given balancer (which may itself have a different in-memory loadfactor)
or some other part of the server?

One 'solution' may be to change the way you disable a balancer member
such that you change it in httpd.conf and do a graceful restart,
combined with the quiescence changes mentioned earlier so that balancer
members are withdrawn nicely.

I'd guess that the only true way to handle this problem is to somehow
compare the balancer configuration on disk with that in memory, and
restore each BalancerMember's loadfactor on restart if the
configurations match.

I suspect, but have no proof, that other load balancer software has this
same issue.

Mark.

-- 
Mark Watts BSc RHCE MBCS
Senior Systems Engineer, Managed Services Manpower
www.QinetiQ.com
QinetiQ - Delivering customer-focused solutions
GPG Key: http://www.linux-corner.info/mwatts.gpg

Mime
View raw message