gRPC客户端连接超时是否可以独立于重新连接退避设置而设置?

时间:2017-10-04 17:18:30

标签: grpc

我们希望配置我们的gRPC客户端在连接丢失后能够非常快速地重新连接。 (我相信default behavior是在20秒后尝试重新连接,在尝试之间退回到120秒。)在审核available settings后,我们尝试设置grpc.initial_reconnect_backoff_ms和{{1}当连接丢失时,这会导致快速重新连接,但我们有时会看到来自测试的调用因grpc.min_reconnect_backoff_ms而失败。从位于客户端和服务器之间的tcp反向代理查看日志记录,我看到连接持续时间超过200毫秒,然后第二个连接持续更长时间。因此,重新连接时间看起来有效地用作连接尝试的超时。

是否可以配置gRPC客户端,以便在连接丢失后开始尝试重新连接,但允许创建该连接的时间比重新连接时间长?

如果重要,这是一个Ruby客户端。

1 个答案:

答案 0 :(得分:1)

初始退避假设1 second

您遇到a bug时,最小连接超时同时作为超时和退避(因此忽略1s初始退避)。因此,您的初始问题和失败的解决方法都是由同一个错误引起的。

(这个漏洞在一个月前被注意到,但由于第二个错误混淆而没有提交问题。这里的问题让我注意到缺失的问题。)