On Fri, Mar 6, 2009 at 7:48 PM, Willy Tarreau <[email protected]> wrote: > When it comes to just move an IP address between two machines an do > nothing else, the VRRP protocol is really better. It's what is > implemented in keepalived. Simple, efficient and very reliable.
Actually, it seems that my information is out of date, and we (that is, our IT management company that we outsource our system administration to) are in fact using Keepalived these days. I was confused by the presence of ha_logd on our boxes, which is part of the Heartbeat package; don't know what the one is doing there. So, yeah, you're right. Stick with Keepalived. :-) > In fact it's useless to synchronise TCP sessions between load-balancers > for fast-moving connections (eg: HTTP traffic). Some people require that > for long sessions (terminal server, ...) but this cannot be achieved in > a standard OS, you need to synchronise every minor progress of the TCP > stack with the peer. A less ambitious scheme would have the new proxy take over the client connection and retry the request with the next available backend. This depends on a couple of factors: For one, it only works if nothing has yet been sent back to the client. Secondly, it assumes the request itself is repeatable without side effects. The latter, of course, is application-dependent; but following the REST principle, in a well-designed app GET requests are supposed to have no side effects, so they can be retried, whereas POST, PUT etc. cannot. Still expensive and error-prone, of course, but much more pragmatic and limited in scope. Alexander.

