我在构建于Spring Cloud Netflix之上的应用程序中通过@LoadBalanced RestTemplate
间接使用Ribbon。
我正在测试针对两个目标服务器的循环负载平衡(应该是Spring定义的默认ZoneAvoidanceRule
的一部分)。但是这不起作用。
调试应用程序时我注意到,loadBalancer
根据规则和可用的服务器列表向choose
目标服务器询问两次。
第一次选择目标服务器的请求是由RibbonClientHttpRequestFactory.createRequest(URI, HttpMethod)
方法完成的。第二次是在execute
本身上调用loadBalancer
方法的效果,后者将再次选择目标目标。结果,(只有两个可用的服务器)我一直只打一个。
我是否有错误配置或这是一个错误?
答案 0 :(得分:1)
版本1.0.2.RELEASE修复了此问题。