Load balancing at Github: Why ldirectord?
anchor.com.au
Load balancing at Github: Why ldirectord?
1–6 of 6 posts
Re: Load balancing at Github: Why ldirectord?
#2Queuing 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.
Re: Load balancing at Github: Why ldirectord?
#3It's pretty awesome to just redirect incoming (usually small) packets and let indivual machines (placed in other farms, if needed) send the response without worrying about it.
Re: Load balancing at Github: Why ldirectord?
#4curse.com survived patch days. * mainstream media site +600mbs
Re: Load balancing at Github: Why ldirectord?
#5"I don’t think queueing something as time-sensitive as interactive HTTP requests is a good idea." 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.
Re: Load balancing at Github: Why ldirectord?
#6Having used both ldirectord and keepalived at reasonable scale this strikes me as solid advice. We use keepalived -- formerly to run LVS, now has a pure IP failover solution for nginx -- and it's been a rock for years. ldirectord is great for the LVS side too, but having one less moving part to worry about is a nice plus. Of course, going with what you know trumps as this review states right up front.
I don't agree about the overhead of haproxy and proxies and general. The author's assertion is that proxies are slower than LVS in high traffic situations. He's certainly right, but any performance loss is vanishingly small on modern hardware. We have redundant nginx pairs up front (tens of millions of requests per day, 100 Mbps+) on modest servers that are nearly idle. If there's a difference between this setup and its LVS predecessor, it's too small to measure. In exchange, we get huge flexibility in configuration, fewer moving parts, and end-to-end logging. If we get up to something in the Gbps+ range we would probably LVS up front again, but until then, I'm pretty happy with my proxies.