ZoneAvoidanceRule 选择方法在触发实际请求之前调用两次,导致循环问题
ZoneAvoidanceRule choose method invoked twice before actual request is fired causing issues to round robin
我在基于 Spring Cloud Netflix 构建的应用程序中通过 @LoadBalanced RestTemplate
间接使用 Ribbon。
我正在针对两个目标服务器测试循环负载平衡(这应该是 Spring 定义的默认 ZoneAvoidanceRule
的一部分)。但是,这不起作用。
我在调试应用程序时注意到,loadBalancer
根据规则和可用服务器列表向 choose
目标服务器询问了两次。
第一次选择目标服务器的请求是因为RibbonClientHttpRequestFactory.createRequest(URI, HttpMethod)
方法完成的。第二次是对 loadBalancer
本身调用 execute
方法的效果,后者将再次选择目标目标。结果,(只有两个可用的服务器)我一直只打一个。
我是否配置有误或者这是一个错误?
1.0 版。2.RELEASE 已修复此问题。
我在基于 Spring Cloud Netflix 构建的应用程序中通过 @LoadBalanced RestTemplate
间接使用 Ribbon。
我正在针对两个目标服务器测试循环负载平衡(这应该是 Spring 定义的默认 ZoneAvoidanceRule
的一部分)。但是,这不起作用。
我在调试应用程序时注意到,loadBalancer
根据规则和可用服务器列表向 choose
目标服务器询问了两次。
第一次选择目标服务器的请求是因为RibbonClientHttpRequestFactory.createRequest(URI, HttpMethod)
方法完成的。第二次是对 loadBalancer
本身调用 execute
方法的效果,后者将再次选择目标目标。结果,(只有两个可用的服务器)我一直只打一个。
我是否配置有误或者这是一个错误?
1.0 版。2.RELEASE 已修复此问题。