我正在使用伪装,通过春季伪装和负载平衡似乎已关闭。我有一个服务A实例和两个服务B实例。服务A通过伪装客户端调用服务B。我在服务B上绘制了传入的请求,它们似乎都到达了同一节点,并且在切换到另一个节点之后又都再次到达了该节点。不是我真正想要的。我使用kubernetes DNS获取节点。 我是否错过了难题的一部分?假装获得IP并使用了一段时间?
我正在使用最新的Spring Cloud,但是正在使用httpclient而不是标准客户端。
我的春季假装注解如下:
@FeignClient(name = "serviceB", url="http://serviceb:8080")
其中serviceb是kubernetes DNS中服务的名称。
答案 0 :(得分:1)
您是按节点表示Pod吗?
要检验您的理论,您可以连续打电话给serviceb,并突然带走一个吊舱,看看另一个吊舱是否收到请求!
k8s似乎遵循随机算法进行负载平衡-因此,有可能它会将请求发送到同一Pod,而当请求数量不足时,我也会看到。当您可以发送多个并发请求并在一定时间内连续发送请求时,我发现请求已分布在所有Pod中。