【发布时间】:2017-01-06 09:23:42
【问题描述】:
我是 gRPC 新手,据我了解,Channels/Stubs 是线程安全的,但是 stub 是否对所有线程使用单个连接?如果是,吞吐量会不会更低,如果不是,我需要创建一个连接池吗?
【问题讨论】:
我是 gRPC 新手,据我了解,Channels/Stubs 是线程安全的,但是 stub 是否对所有线程使用单个连接?如果是,吞吐量会不会更低,如果不是,我需要创建一个连接池吗?
【问题讨论】:
存根是轻量级的; Channel 持有连接。通道是到端点的虚拟连接;它可能有零个或多个 TCP 连接。
在非常高的吞吐量下使用多个连接可能是有益的。在短期内,您可以通过使用多个渠道来实现这一目标。但是,理想情况下,您将使用单个 Channel 并使用使用多个连接到同一端点的 LoadBalancer。这在今天不太可能。希望在 1.2 中它会得到支持,我们将提供一个方便的实现。
【讨论】: