envoyproxy / envoyproxy/envoy

grpc keepalive/h2 ping support for upstream

Đang mở
#7,136 3 bình luận 0 reaction 0 người được giao Xem trên GitHub
area/grpc enhancement help wanted
Ngôn ngữ chính
C++
Star
28.9k
Fork
5.6k
Merge trung bình
1 ngày 22 giờ
Pull request đã merge (30 ngày)
430

Mô tả

gPRC currently uses h2 pings to check the channel health status. As per the gRPC docs, this needs to be enabled on both gRPC server and the client. The default for GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS is false, which means if the client tries to send h2 pings, server will reset the connection.

#2086 mentions that envoy will revert back to any downstream h2 pings, which seems like a sensible flow. What the envoy docs fail to mention is how envoy configures these gRPC pings and what are the current values.

Is GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS true by default ?
Would envoy further perform any h2 ping checks on upstream if it receives a downstream ping ?
How are half closed connections/streams handled (closed from upstream end) ?

Also, there are other parameters that are supported in core gRPC implementation (GRPC_ARG_HTTP2_MAX_PING_STRIKES etc), should these be configurable in envoy config ? as it acts as a gRPC server while proxying.

https://github.com/grpc/grpc/blob/master/doc/keepalive.md

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.