gRPC 中的客户端负载均衡

问题描述 投票:0回答:1

我们正在实施我们自己的客户端负载平衡策略,无需任何代理。目前我们的后端有 10 台服务器,正在为每台服务器创建一个通道并缓存和重用它们。为了提高性能,我们正在考虑基于每台服务器的拥塞程度(例如,每台服务器正在服务/正在服务多少个请求)来路由请求,并将请求路由到最不拥塞的服务器。 gRPC 中有没有一种简单的方法来获取这些元数据?

grpc load-balancing grpc-java
1个回答
0
投票

听起来你正在寻找的东西基本上是由现有的WeightedRoundRobinLoadBalancer完成的。在这种情况下,它依赖于服务器发送花费的时间/事务的报告,以便当服务器减慢时它的优先级较低。它是 XDS 功能的一部分,因此如果您不使用它,则无法直接使用它,但您可以将其用作创建自己的模型的模型。

只有在只有一个客户端的情况下,让客户端知道它已向服务器发送了哪些工作才有用。您可以让服务器定期发送带有当前“拥塞状态”的流式消息。

© www.soinside.com 2019 - 2024. All rights reserved.