envoyproxy/xds-relay

Configure grpc keepalive settings

開放

#72 建立於 2020年4月27日

 (0 則留言) (0 個反應) (1 位負責人)Go (29 個分叉)auto 404
good first issue

倉庫指標

星標
 (135 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

xds-relay should configure server keepalive settings. It will help the grpc server handle stale streams and connections from sidecars. https://godoc.org/google.golang.org/grpc/keepalive#ServerParameters

type ServerParameters struct {
    // MaxConnectionIdle is a duration for the amount of time after which an
    // idle connection would be closed by sending a GoAway. Idleness duration is
    // defined since the most recent time the number of outstanding RPCs became
    // zero or the connection establishment.
    MaxConnectionIdle time.Duration // The current default value is infinity.
    // MaxConnectionAge is a duration for the maximum amount of time a
    // connection may exist before it will be closed by sending a GoAway. A
    // random jitter of +/-10% will be added to MaxConnectionAge to spread out
    // connection storms.
    MaxConnectionAge time.Duration // The current default value is infinity.
    // MaxConnectionAgeGrace is an additive period after MaxConnectionAge after
    // which the connection will be forcibly closed.
    MaxConnectionAgeGrace time.Duration // The current default value is infinity.
    // After a duration of this time if the server doesn't see any activity it
    // pings the client to see if the transport is still alive.
    // If set below 1s, a minimum value of 1s will be used instead.
    Time time.Duration // The current default value is 2 hours.
    // After having pinged for keepalive check, the server waits for a duration
    // of Timeout and if no activity is seen even after that the connection is
    // closed.
    Timeout time.Duration // The current default value is 20 seconds.
} 

MaxConnectionIdle : should be a few hours MaxConnectionAge : default infinity works well MaxConnectionAgeGrace: few minutes Time: 2minutes Timeout: default 20s works well

貢獻者指南