Le 13/04/2021 à 18:15, John Lauro a écrit :
Sounds like the biggest part of hot restarts is the cost of leaving the old process running as they have a lot of long running TCP connections, and if you do a lot of restarts the memory requirements build up.  Not much of an issue for short lived http requests (although it would be nice if keep alive wasn't followed on the old haproxy processes so they could die quicker).


Well, AFAIK, Envoy handles hot restarts exactly the same way HAProxy does. The old process tries to finish to process in-flight requests. The connections are not kept-alive. The old process closes all idle connections. But it must still wait the responses for already started requests. Both Envoy and HAProxy do it this way. Note there is an option to kill the old process after a given time.

The article is a bit biased and inaccurate because it suggests HAproxy does not support hot restarts while Envoy do it. In fact, The real difference here is the ability to dynamically add or remove servers with Envoy. Thanks to this feature, most of time, there is no reason to restart it. Thus, hot restarts are not an issue anymore. On HAProxy side, as Willy said, this feature is under development.

--
Christopher Faulet

Reply via email to