On 29/09/2016 07:13 μμ, Joseph Lynch wrote: > You can always dynamically remove servers via the stats socket by > downing them. If your server pool is relatively well behaved you can > just pre-allocate and up and down as needed. > > If you need to add new servers, afaik you have to reload, which > won't drop existing connections but may drop new connections for a > very brief moment (10-20ms). Old instances of HAProxy will hang > around until all connections through them drain so you have to be > careful if you're restarting a lot with long timeouts not to run out > of memory. > > Seehttps://engineeringblog.yelp.com/2015/04/true-zero-downtime-haproxy-reloads.html > > <https://engineeringblog.yelp.com/2015/04/true-zero-downtime-haproxy-reloads.html> > for a deep dive into why reloading is a tricky problem. You'll note > that existing connections are never dropped with -sf , but there are > a very small number of new connections that are. The community has > been working on it though! > > Most notably within HAProxy the DNS work Baptiste is doing will > hopefully eventually allow complete dynamic re-assignment of the > hosts and ports within a backend, meaning you just have to reload > when your pool size is too high. I believe changing host is supported > and port is in the works (double check me on this, might have > changed). > > Willy nearly had a Linux kernel patch in to 4.2 that fixed the > underlying problem with the Linux kernel, but then it got a bit > derailed by the BPF changes that got merged. > Seehttps://marc.info/?t=144331405900001&r=1&w=2 > <https://marc.info/?t=144331405900001&r=1&w=2> for the story there.
Guys proposed to use BPF resolve the issue, but they didn't provide a workable solution, which Willy's patch fixed the problem, at least partially. I know you can do a lot of interesting and useful things with BPF, like stracing application in production without performance degradation, but they could have accepted Willy's patch until a permanent solution arrives. May be I am missing something here. Cheers, Pavlos
signature.asc
Description: OpenPGP digital signature

