首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否需要为多线程Java (1.1.2)客户端汇集ManagedChannel实例?

问是否需要为多线程Java (1.1.2)客户端汇集ManagedChannel实例?
EN

Stack Overflow用户
提问于 2017-02-18 20:44:23
回答 2查看 6.6K关注 0票数 7

TL;DR

grpc的ManagedChannel是否有一个隐式连接池,还是ManagedChannel实例的池是用户的责任?

因此,我使用的是java 1.1.2和Proc3.2.0。在我看来,grpc为客户端提供的连接池似乎没有隐式支持(到目前为止)。但是,似乎grpc中的连接抽象(即ManagedChannel对象)确实适用于多个TCP连接。对吗?如果是这样的话,ManagedChannel是否附带了连接池?如果是这样的话,我可能不必担心连接池,因为通道是线程安全的,而且我可以在客户端使用一个ManagedChannel实例。但是,如果需要的话,为了获得更高的吞吐量,我可能也必须将这些通道对象集中起来。是否有这样的实现(信道池)在grpc本身中为我做到了这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-21 22:57:35

是的,ManagedChannel负责连接池,您只需要一个连接池。它将根据需要自动创建和销毁连接。

票数 13
EN

Stack Overflow用户

发布于 2017-02-22 18:58:04

因为您说您希望通过池来获得更高的吞吐量,所以我假设您希望为一个通道中的一个地址创建和汇集多个连接。它不受支持,因为通道impl用于每个地址只创建一个连接。使用即将取代旧版本的LBv2,现在可以使用自定义LoadBalancer了,您可以根据自己的意愿为连接设置尽可能多的创建。

您可以参考股票先挑和周知博 LoadBalancers,了解如何编写自己的LoadBalancer。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42320492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档