关于细粒度配置ribbon的问题
来源:6-6 细粒度配置自定义01-Java代码方式

MichaelDuan
2023-10-31
老师,您好
您在课程中提到,通过配置configuration 定义IRule的方式来实现细粒度的负载均衡,请问你在ShareService中,通过什么方式来请求user-center?是否按照以下的方式来请求的?如果是这样,那restTemplate上面加的@LoadBalanced与配置IRule的configuration有什么区别?
userDTO = this.restTemplate.getForObject(
“http://user-center/users/{userId}”,
UserDTO.class,userId
);
写回答
1回答
-
大目
2023-11-08
@LoadBalanced本质上是利用RestTemplate的拦截器,为RestTemplate整合Ribbon的(相当于为RestTemplate赋予了负载均衡的能力)
而IRule是Ribbon的一个组件,用来实现自定义负载均衡规则的,负载均衡规则用来做“传给我一个实例列表,给你返回一个实例”的工作,用来精准控制流量的。
这两者之间是搭配关系,IRule的使用前提,是你的RestTemplate(或Feign)整合了Ribbon
022024-01-04
相似问题