java 何时应关闭GRPC ManagedChannel?

k10s72fa  于 2023-04-28  发布在  Java
关注(0)|答案(2)|浏览(159)
ManagedChannel managedChannel = ManagedChannelBuilder.forTarget(host).usePlaintext().build();

何时应该关闭托管通道?它会一直开着吗?或者我应该在每次操作后关闭此通道吗?

kiayqfof

kiayqfof1#

它的目的是保持开放,并在整个应用程序中重用。例如,请参阅github上的thread,其中一位贡献者表示:
创建通道的成本很高,一般建议每个应用程序使用一个通道,在服务存根之间共享。

d6kp6zgx

d6kp6zgx2#

如果需要关闭现有连接(例如:流)并防止将来的连接。一种可能的场景是应用程序退出时的干净状态(即e -完成所有网络通信并退出)。
然而,正如Fabian强调的那样,建议在可能的情况下重复使用通道。这一点从performance best practices guide中得到了进一步证实
尽可能重复使用残端和通道。

相关问题