Hello, GL>If your proxy machines were being load balanced by an Alteon switch (or GL>whatever) you could probably tell the switch to stop sending new GL>connections to the proxy in question, while allowing the old connections GL>to finish. Of course this is based on whether the Alteon (or whatever) GL>config will let you do this of course.
For the Alteons on our production networks, we do exactly this. It works pretty well. GL>On the proxy side, maybe some generic function in Apache that is not GL>proxy specific could signal Apache to go into a "disabled" state, where GL>new connections get "connection refused", while old connections run GL>their course. The load balancer I assume would detect this state and GL>pass any new requests on to other machines. You could use ./apachectl GL>disable and ./apachectl enable to achieve this. This is exactly the graceful shutdown case that was suggested, which I am wholeheartedly supportive of. (Cutting off requests that are in service is, in my opinion, never good; graceful shutdown seems like a really useful feature to have.) On a more load balancer specific note, Alteons (and some other load balancers) use the concept of a health check URL. Our Alteons are configured for example to check for a specific URL (for example, the Alteon might do a "GET alteoncheck.txt HTTP/1.0" every 2 seconds). I had a plan originally to write a handler that accepts requests for this heartbeat check... on some signal (a particular request? an OS signal?) it would start returning an error for the heartbeat check case, but keep servicing all other requests as normal. Eventually, the Alteon would decide that that machine was bad, and the number of connections would fall to zero; it would then be safe to take the server out of rotation. The benefit of this scenario is that you don't have to touch the load balancer at all to get individual machines in and out of the load balancer. Also, this type of scenario is far more automatable (rather than telnetting into, say, a load balancer console interface and navigating menus, ugh). Humbly, Andrew ---------------------------------------------------------------------- Andrew Ho http://www.tellme.com/ [EMAIL PROTECTED] Engineer [EMAIL PROTECTED] Voice 650-930-9062 Tellme Networks, Inc. 1-800-555-TELL Fax 650-930-9101 ----------------------------------------------------------------------
