【问题标题】:Is there gRPC client side load balancing front end是否有 gRPC 客户端负载均衡前端
【发布时间】:2020-01-03 12:53:58
【问题描述】:

我正在构建一个 python 程序作为工作人员,使用 gRPC(并使用 etcd 作为发现服务)与服务器通信,需要代理功能来实现负载平衡、容错等。虽然 golang 客户端有一些内置的负载均衡,但它在 python 客户端中不存在。

我找到了这个方案here

在我的场景中:
Etcd 用于主机和服务提供者之间的服务注册表
gRPC

我的问题是,是否有一个现有的程序可以作为这个方案的 LB(图中),它可以从 Etcd 解析服务名称,并在 gRPC 服务之间进行负载平衡。或者我怎样才能编写最少的代码来实现它(从现有库中获取帮助)。

【问题讨论】:

    标签: python grpc etcd


    【解决方案1】:

    根据您的服务部署方式,Envoy 作为代理可能是此架构中负载均衡器的良好候选者。

    虽然these examples 都使用 Kubernetes,但它们为如何设置架构提供了一个不错的示例。

    您可能还想考虑使用here 中描述的后备负载平衡架构。在这种情况下,您可能需要四处寻找 grpclb 协议的实现,例如 this one

    【讨论】:

    • 感谢您的回答。我应该如何让 envoy 和 etcd 一起工作?
    猜你喜欢
    • 2022-01-17
    • 2011-12-30
    • 1970-01-01
    • 2022-09-28
    • 1970-01-01
    • 2020-11-17
    • 2021-10-22
    相关资源
    最近更新 更多