I am curious to know about the way Swarm manger choose Worker Node for assigning a task. Here is my use case,
Number of Swarm Managers - 3
Number of Worker Nodes - 3
Swarm Mode - Global
With the above setup we have an application container deployed in all 3 workers. We access the applications via Haproxy (webserver) with RoundRobin.
Let’s assume workers 1 and 2 are super busy handling the existing requests and 3 is idle:
If we have all 3 Swarm Managers as Haproxy backends, Swarm manager has intelligence to send request to the worker which is idel/not busy? OR Swarm Manager also simply follows RoundRobin?
If “Swarm Manager also simply follows RoundRobin” why don’t we have 3 worker nodes directly configured as Haproxy backend?
what is the efficient way to do it? having Swarm Managers as Haproxy backend or Workers as Haproxy backend?