我正在使用feign,通过spring feign和负载均衡似乎关闭了。我有一个服务A的实例和两个服务B的实例。服务A通过一个假客户端调用服务B。我绘制了服务B上的传入请求,它们似乎都命中相同的节点,一段时间后切换到另一个节点,所有请求都再次命中该节点。这不是我真正想要的。我使用kubernetes DNS来获取节点。我错过了拼图的某一部分吗?feign是否获得了ip并使用了一段时间?
我使用的是最新的spring cloud,但我使用的是httpclient而不是标准的客户端。
我的spring feign注释看起来像这样:
@FeignClient(name = "serviceB", url="http://serviceb:8080")其中serviceb是kubernetes DNS中的服务名称。
发布于 2019-04-02 02:36:43
为了验证您的理论,您可以连续调用serviceb并突然带来一个pod,看看另一个pod是否收到请求!
k8s似乎遵循随机算法来实现负载均衡--因此它有可能会将请求发送到相同的pod,当没有足够的请求时,我也看到了这一点。当您可以发送多个并发请求时&连续发送一定时间,我已经看到请求分布在所有pod上。
https://stackoverflow.com/questions/55460948
复制相似问题