grpc:服务器重新启动后大约 15 秒无法恢复连接
Posted
技术标签:
【中文标题】grpc:服务器重新启动后大约 15 秒无法恢复连接【英文标题】:grpc: Cannot restore connection for approximately 15 seconds after server restart 【发布时间】:2018-05-21 18:04:00 【问题描述】:服务器重新启动后,客户端无法立即恢复与服务器的连接。相反,它仅在空闲 15 秒后恢复连接。我也无法从同一进程中使用新创建的通道/客户端调用服务器。但是如果我在单独的进程中启动一个新的客户端实例,它会成功连接。
我不确定,但假设从 1.0.0 迁移到 1.6.1 grpc 版本后出现了问题。也许引入了任何新设置来改变这种行为?
我的通话状态:
0. Grpc.Core.Internal.CompletionQueueSafeHandle.Pluck (Source Unavailable)
1. Grpc.Core.Internal.AsyncCall`2.UnaryCall (Source Unavailable)
2. Grpc.Core.DefaultCallInvoker.BlockingUnaryCall (Source Unavailable)
3. Grpc.Core.Internal.InterceptingCallInvoker.BlockingUnaryCall (Source Unavailable)
【问题讨论】:
您是否尝试过恢复到 1.0.0 以了解它是否相关? 还是用1.7.1试过? 【参考方案1】:也许引入了任何新设置来改变这种行为?
我查看了从 1.0.0 到 1.6.1 的 grpc 发行说明,发现 1.6 note(C# 部分)有以下相关更改:
为了更加安全,用户处理程序不再在 Grpc 的线程池上运行。
您可能需要对处理程序进行一些代码调整。 希望这会有所帮助。
【讨论】:
以上是关于grpc:服务器重新启动后大约 15 秒无法恢复连接的主要内容,如果未能解决你的问题,请参考以下文章
NSMutableURLRequest 在大约 15 秒后超时。超时设置为 240 秒
在 redux-Saga 中重新连接到 webSocket 服务器的标准方法?