Add support for the header hash policy in the consistent hash load balancer
harrisonturton opened this issue · comments
Description:
While Envoy itself supports a range of hash policies for consistent hash load balancing, the Envoy Gateway can only be configured with the ConnectionProperties policy via the SourceIP consistent hash type. This is insufficient for situations where session affinity must be based on a sharding key that is in a request header.
For example, a request might include an resource identifier in a request header. When the request is processed, that resource will be cached on the upstream, so subsequent requests should be routed to the same instance. This routing must be done based on the value of that header, rather than the source IP address, which can change for a variety of reasons1.
Specifically, we want this feature to implement session affinity for gRPC messages based on their protocol headers.
Any extra documentation required to understand the issue.
Footnotes
-
Whenever the downstream scales up/down, or for an public deployment, or when the client device roams and undergoes a network handover (which causing the connection to be reestablished), NAT rebinding, etc ↩