We current leave load balancing algorithm as the default (Round Robin) in Envoy. We should add support to configure this in proxy-defaults globally and per-service.
Envoy supports (docs):
We should probably keep this opaque though so other proxies can attempt to match behaviour and default to something if they don't have an equivalent.
We should also look at some of the tuning configs for some of those algorithms to see if it makes sense to expose those too.
Envoy supports the following configuration (ref) that may be relevant:
lb_policy - one of Round Robin, Least Request, Ring Hash, Random, MagLevcommon_lb_config - docsHealthyPanicThreshold: 0ring_hash_lb_config (docs) - has 3 settingsminimum_ring_size, hash_function, maximum_ring_sizeleast_request_lb_config (docs) - has one setting choice_countHAProxy config (ref) supports some of the same options, but is organized in a much different way:
ring_hash_lb_config.hash_function. There are 4 options, but they do not appear to overlap with the envoy options.NGINX L7 config (ref):
Any ideas when it will be ready? Maybe you want some help?
Can you also add query parameter hashpolicy option please?
Anybody? The lack of this setting blocks us(and I think many others) from using Connect
Hi @flyik, I can't provide a precise time estimate for when it will go out, but this enhancement is being picked back up now. It will either end up in a 1.8.x minor release or 1.9.0.
We will look into supporting query parameters as a hash policy along with request headers.
Most helpful comment
Anybody? The lack of this setting blocks us(and I think many others) from using Connect