You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to properly support DNS-based client side gRPC load balancing, the server must periodically terminate the client connection gracefully by sending a GOWAY frame and subsequently closing the connection.
Unfortunately, due the inconsistent support of client connection timeout settings in gRPC client libraries, the current recommendation appears to be to use service side.
Introduce max_connection_age and max_connection_age_grace server timeouts. On first look, it appears support would need to be added to hyper first.
Alternatives
The alternative is client side timeouts. Unfortunately, client side timeouts are not implemented consistently. See grpc/grpc-go#1663.
I am not aware of any alternatives other than service meshes, proxies, xDS, or a custom gRPC resolver or load balancing mechanism (all of which can be quite complex).
The text was updated successfully, but these errors were encountered:
Feature Request
Motivation
In order to properly support DNS-based client side gRPC load balancing, the server must periodically terminate the client connection gracefully by sending a
GOWAY
frame and subsequently closing the connection.MAX_CONNECTION_AGE
andMAX_CONNECTION_AGE_GRACE
are defined in the gRPC Server-side connection management.Unfortunately, due the inconsistent support of client connection timeout settings in gRPC client libraries, the current recommendation appears to be to use service side.
These issues provide more context:
Proposal
Introduce
max_connection_age
andmax_connection_age_grace
server timeouts. On first look, it appears support would need to be added tohyper
first.Alternatives
The alternative is client side timeouts. Unfortunately, client side timeouts are not implemented consistently. See grpc/grpc-go#1663.
I am not aware of any alternatives other than service meshes, proxies, xDS, or a custom gRPC resolver or load balancing mechanism (all of which can be quite complex).
The text was updated successfully, but these errors were encountered: