【笔记】Ribbon学习笔记

前言

在Feign或Zuul中集成Ribbon,实现负载均衡和重试

负载均衡

  • 在RestTemplate的配置方法上追加@LoadBalanced注解,@LoadBalanced封装RestTemplate,添加负载均衡的功能

setConnectTimeout():建立连接等待时间
setReadTimeout():连接建立后,发送请求后,等待接收响应的时>间

1
2
3
4
5
6
7
8
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
SimpleClientHttpRequestFactory simpleClientHttpRequestFactory = new SimpleClientHttpRequestFactory();
simpleClientHttpRequestFactory.setConnectTimeout(1000);
simpleClientHttpRequestFactory.setReadTimeout(1000);
return new RestTemplate();
}

重试

  • 修改application.yml配置文件
1
2
3
4
ribbon:
# 重试次数越少越好,一般用0、1
MaxAutoRetries: 1
MaxAutoRetriesNextServer: 2

完成