2017-10-04 786 views
0

我们希望配置我们的gRPC客户端,在连接丢失后很快重新连接。 (我相信default behavior将在20秒后尝试重新连接,在两次尝试之间退回到120秒。)在审查available settings之后,我们尝试将grpc.initial_reconnect_backoff_msgrpc.min_reconnect_backoff_ms设置为200.虽然这会在连接丢失时快速重新连接,我们有时会看到来自测试的呼叫以GRPC::Internal: 13:Completed without a response失败。从位于客户端和服务器之间的tcp反向代理查看日志记录,我发现连接持续时间超过200毫秒,然后第二个连接持续时间更长。所以它看起来像重连时间有效地作为连接尝试超时。可以独立于重新连接退避设置来设置gRPC客户端连接超时吗?

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

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

回答

1

初始回退为假设1 second

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

(该错误已注意到在一个月前,但问题并没有因与第二个bug提交到查询股价。在这里你的问题让我发现丢失的问题。)

+0

因此,答案是“不正确的现在,但一旦[此错误](https://github.com/grpc/grpc/issues/12867)已修复。“谢谢。 –

+0

正在解决此问题的工作:https://github.com/grpc/grpc/pull/13121 –