Wow, this is a really informative blog post. Thanks for sharing! I'm curious, did you weight the costs of simply converting your proxies to run on one of the BSD's? As I understand it, their implementation of SO_REUSEPORT would mean zero downtime reloads just work as hoped-for/expected.
On Mon, Apr 13, 2015 at 10:24 AM, Joseph Lynch <[email protected]> wrote: > Hello, > > I published an article today on Yelp's engineering blog ( > http://engineeringblog.yelp.com/2015/04/true-zero-downtime-haproxy-reloads.html) > that shows a technique we use for low latency, zero downtime restarts of > HAProxy. This solves the "when I restart HAProxy some of my clients get > RSTs" problems that can occur. We built it to solve the RSTs in our > internal load balancing, so there is a little more work to be done to > modify the method to work with external traffic, which I talk about in the > post. > > The solution basically consists of using Linux queuing disciplines to > delay SYN packets for the duration of the restart. It can definitely be > improved by further tuning the qdiscs or replacing the iptables mangle with > a u8/u32 tc filter, but I decided it was better to talk about the idea and > if the community likes it, then we can optimize it further. > > -Joey >

