Re:Load balancing at Github: Why ldirectord?
by jeremyw on Monday November 02, 2009 @05:49PM
(#918145)
Yeah, Matt lost me here (in his reply to Willy Tarreau's [HAProxy] comment.) Packet rewriting is nice and efficient, but it's dumb. Unless you measure a latency/cpu issue with proxies, in a system with lots of moving parts, having high-level ways to control the flow of traffic -- on-the-fly! -- is a good thing.
Queuing will happen somewhere in your architecture regardless. If I understand github's setup properly, it'll be in the operating system's accept queue for each backend. We know from queue theory that a queue per worker is inferior to a single queue for all workers.