This is a question regarding the load balancing capabilities of Fabio. In our cluster we have a WebSocket service that can only handle up to N (let's say N=3, without loss of generality) clients. Whenever a connection is established we notify an API endpoint so that the cluster orchestrator (in our case Nomad) is told to fire up another container if we run "out of seats". The question now is: Does Fabio somehow consider the open connection "load" for a given service instance during its round-robin distribution? If not, (how) can we tell Fabio (or Consul) to reflect that? If one container has no more "seats" a new user should not get routed to it (if there is a container that still has "seats").
Thanks for any insights or hints!
Daniel
This is a question regarding the load balancing capabilities of Fabio. In our cluster we have a WebSocket service that can only handle up to N (let's say N=3, without loss of generality) clients. Whenever a connection is established we notify an API endpoint so that the cluster orchestrator (in our case Nomad) is told to fire up another container if we run "out of seats". The question now is: Does Fabio somehow consider the open connection "load" for a given service instance during its round-robin distribution? If not, (how) can we tell Fabio (or Consul) to reflect that? If one container has no more "seats" a new user should not get routed to it (if there is a container that still has "seats").
Thanks for any insights or hints!
Daniel