java - 什么时候应该在 GRPC 上关闭 channel ?

标签 java connection grpc channel

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/

相关文章:

java - 如何在现有 Activity 中画线?

java - 为什么 Java 人经常默默消费异常?

java - Java中如何保证跨类和方法的数据持久化?

java - spring DriverManagerDataSource 开辟了多少个连接?

java - JSch 算法协商失败

grpc - 在服务器拦截器中应答 gRPC 调用

go - grpc-go 模型中的空值问题

c# - 我可以在 C# 中将 gRPC 和 webapi 应用程序组合到 .NET Core 3.0 中吗?

java - 如何在Android SQLite数据库中使用SQLCipher或任何加解密技术

powershell - Azure WinRM 的认证测试工具 1.2 无法完成操作