相关疑难解决方法(0)

gRPC客户端负载均衡

我正在使用gRPC和Python作为kubernetes pods中的客户端/服务器......我希望能够启动多个相同类型的pod(gRPC服务器)并让客户端(随机)连接它们.

我发送了10个服务器的pod并设置了一个"服务"来定位它们.然后,在客户端,我连接到服务的DNS名称 - 意味着kubernetes应该进行负载平衡并将我引导到随机服务器pod.实际上,客户端调用gRPC函数(效果很好)但是当我查看日志时,我看到所有调用都转到同一个服务器pod.

我假设客户端正在进行某种DNS缓存,这导致所有调用都被发送到同一服务器.是这样的吗?无论如何要禁用它并设置相同的存根客户端进行"新"呼叫并通过DNS每次呼叫获取新的IP?

我知道如果它每次都会查询DNS服务器,我可能会产生的开销,但是分配负载对我来说更重要.

编辑

可能不是缓存问题......可能只是gRPC的工作方式.HTTP/2和持久可重用连接.每次通话后有什么方法可以"断开"?

python dns http kubernetes grpc

17
推荐指数
2
解决办法
5308
查看次数

标签 统计

dns ×1

grpc ×1

http ×1

kubernetes ×1

python ×1