Right now we have two structures governing load balancing, one to choose the algorithm (RoundRobin, Random, LeastConnections, PowerOfTwo), and one to define load balancing parameters (only the weight for now, and it is not even used).
Here's what I want to change:
- algorithms: round robin, random, least loaded, power of two, sticky session
- weight parameter can be used by all algorithms
- load measurement parameter is how we measure the load of a server. An enum of: least connections, least active requests, latency EWMA, peak EWMA (latency wighted by the number of active requests)
- sticky id parameter
Right now we have two structures governing load balancing, one to choose the algorithm (RoundRobin, Random, LeastConnections, PowerOfTwo), and one to define load balancing parameters (only the weight for now, and it is not even used).
Here's what I want to change: