ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 8081)
.usePlaintext()
.build();
GRPC 服务器和客户端之间存在连接。受管 channel 提供连接。何时必须关闭托管 channel ?或者它应该一直打开直到服务器关闭?关于它的最佳实践是什么?
最佳答案
只要您需要,就让 channel 保持 Activity 状态。这通常是整个应用程序的生命周期。
由于 channel 保持与服务器的连接,因此不应频繁关闭/重新创建它。在应用程序启动的早期创建必要的 channel ,然后根据需要使用它们是正常的。
channel 以没有连接的空闲模式开始。当您执行 RPC 时,它们会连接并保持这些连接,但如果未使用,它们最终会回到空闲状态。您可以配置 channelBuilder.idleTimeout()
以选择它们在未使用时释放资源的积极程度。
关于java - 什么时候应该在 GRPC 上关闭 channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64119639/