首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grpc客户端python:如何创建grpc客户端连接池以获得更好的吞吐量?

grpc客户端python:如何创建grpc客户端连接池以获得更好的吞吐量?
EN

Stack Overflow用户
提问于 2020-08-14 06:58:09
回答 1查看 906关注 0票数 0

我们的用例是发出大量的请求。每个请求返回1MB的数据。现在,在客户端,我们创建一个GRPC通道,并在循环中运行以下函数

代码语言:javascript
复制
content_grpc_channel = grpc.insecure_channel(content_netloc)
test_stub = test_pb2_grpc.ContentServiceInternalStub(
    content_grpc_channel)

def get_feature_data_future(feature_id, span_context=()):
  req_feature = test_pb2.GetFeatureRequest()
  req_feature.feature_id = feature_id
  resp_feature_future = test_stub.GetFeature.future(
      req_feature, metadata=span_context)
  return resp_feature_future

我的问题是在python中如何创建grpc客户端连接池以获得更好的吞吐量?

在golang中我看到了这个https://godoc.org/google.golang.org/api/option#WithGRPCConnectionPool,但是我很难在python中找到这个文档。

python中有没有这样的工具来创建grpc连接池?或者我应该创建多个grpc通道并自己管理这些通道?我假设每个通道都有不同的tcp连接,对吗?

EN

回答 1

Stack Overflow用户

发布于 2020-08-16 18:40:28

gRPC使用超文本传输协议/2,可以在一个连接上多路传输多个请求,并且gRPC客户端连接应该在客户端应用程序的生命周期中重复使用。

您提到的Golang链接显示WithGRPCConnectionPool将用于平衡请求。如果需要,您可能会搜索负载平衡,但请记住,只有当您有多个gRPC服务器实例时,负载平衡才有意义。

如果您正在搜索受使用数据库时所做工作启发的连接池,我建议您不必担心,因为使用gRPC时不存在打开连接的开销

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

https://stackoverflow.com/questions/63404291

复制
相关文章

相似问题

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