Boost logo

Boost Users :

From: Dominique Devienne (ddevienne_at_[hidden])
Date: 2020-04-21 16:52:36


On Tue, Apr 21, 2020 at 4:58 PM Raymond Burkholder via Boost-users <
boost-users_at_[hidden]> wrote:

> > 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
>

I see. Found this article on how to confirm HAProxy for WebSocket.
[1]
https://blog.silverbucket.net/post/31927044856/3-ways-to-configure-haproxy-for-websockets

If I understand correctly, that means I must start the servers (old and
new) on different ports,
and have HAProxy listen on the "main public port", and manually update
HAProxy's config when
redeploying, to start directing traffic to the new one?

My use case is simpler than Load Balancing, I was hoping for something
simpler than
HAProxy, NGinx, Traefik, etc... Which are full blown solution for all sorts
of networking tasks.

> > 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.
>

I didn't equate routing traffic from 1 server to another as Load Balancing,
but I guess it makes sense. My server is already multi-user and
multi-threaded,
and not expected to have traffic that justifies a Load Balancer. Other
people in
the company are going crazy with Kubernetes and Docker, but I'm trying to
keep things
simple and make a good server fast and robust enough to avoid all that
complexity.

Except "Hot-Reload" as they say in the Java world does complicate things...
--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