TL;DR
grpc的ManagedChannel是否有一个隐式连接池,还是ManagedChannel实例的池是用户的责任?
因此,我使用的是java 1.1.2和Proc3.2.0。在我看来,grpc为客户端提供的连接池似乎没有隐式支持(到目前为止)。但是,似乎grpc中的连接抽象(即ManagedChannel对象)确实适用于多个TCP连接。对吗?如果是这样的话,ManagedChannel是否附带了连接池?如果是这样的话,我可能不必担心连接池,因为通道是线程安全的,而且我可以在客户端使用一个ManagedChannel实例。但是,如果需要的话,为了获得更高的吞吐量,我可能也必须将这些通道对象集中起来。是否有这样的实现(信道池)在grpc本身中为我做到了这一点?
发布于 2017-02-21 22:57:35
是的,ManagedChannel负责连接池,您只需要一个连接池。它将根据需要自动创建和销毁连接。
发布于 2017-02-22 18:58:04
因为您说您希望通过池来获得更高的吞吐量,所以我假设您希望为一个通道中的一个地址创建和汇集多个连接。它不受支持,因为通道impl用于每个地址只创建一个连接。使用即将取代旧版本的LBv2,现在可以使用自定义LoadBalancer了,您可以根据自己的意愿为连接设置尽可能多的创建。
https://stackoverflow.com/questions/42320492
复制相似问题