golang grpc socket调整

时间:2018-03-08 16:51:27

标签: sockets go grpc

我有一个golang客户端应用程序通过GRPC与服务器通信。我注意到,在应用程序运行时,客户端应用程序上累积的套接字数量一直持续攀升至9000左右。此时我暂停了客户端。但是,在客户端和服务器之间没有更多流量之后,即使在8小时后,数字套接字仍然保持在该级别。

无论如何我们可以调整GRPC的套接字使用吗?如超时后关闭套接字?是否使用流式传输来限制打开套接字的数量?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我首先确保您的客户端应用程序通过调用Close()方法来清除未使用的连接(grpc.ClientConn)。 此外,由于我不知道你的应用程序到底是做什么的,所以我要继续并建议重用多个RPC的连接(你可能已经这样做了)。

并回答有关在连接上设置超时截止日期的问题: 你不应该这样做。随意在https://github.com/grpc/grpc-go上打开一个关于gRPC缺点迫使你采取这条路线的问题。 2.但是如果你必须知道,你可以使用自定义拨号器(https://github.com/grpc/grpc-go/blob/13975c070286c7371aa3a8b3c230e90d7bf029fc/clientconn.go#L333)并在你从它返回的net.Conn上设置截止日期。

最佳, 麦