Boost logo

Boost Users :

From: Raymond Burkholder (ray_at_[hidden])
Date: 2020-04-21 14:38:54


On 2020-04-21 5:59 a.m., Dominique Devienne via Boost-users wrote:
> It's deployed and serving clients in production or test environments,
> but I fixed a bug, checked in a fix, passed CI, and would like to
> redeploy, but w/o downtime for existing clients.  New clients should
> use the same address, but be served by the newly deployed fixed
> server.  While on-ongoing WebSocket connections keep on using the old
> server.
>
> If not possible in-process, then how to know when older server is no
> longer in use, to gracefully stop it?  Asio servers typically run
> forever, i.e. never run out of work, even when they temporarily have
> nothing to do, by design.
Load balancers are typically involved in this process.
https://www.haproxy.org/, ebpf/xdp, LVS,
http://blog.raymond.burkholder.net/index.php?/archives/632-Load-Balancing-With-DNS,-BGP-and-LVS.html

>
> The goal is to do this on "premise" (i.e. not in the cloud), on a
> single machine (no containers), and cross-platform (Windows and Linux).
The basic premise is that there is some sort of proxy or services which
tests for 'aliveness', and forwards requests to the appropriate
service.  Typically it is designed to 'drain' traffic from a service to
be stopped, and forward new sessions to an alternate service, and when
no further traffic is forwarding to the old service, it can be stopped,
updated, and restarted, and traffic can then be re-balanced.

And then of course, the question is how do you balance the balancer? 
Usually that is some sort of routing protocol.
>
> Thanks, --DD
>


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net