通过@LoadBalanced和@Bean修饰可以生成一个具有负载均衡功能的RestTemplate。
1 | @Configuration |
提示: 从Spring Boot 1.4开始不再提供自动配置的RestTemplate Bean,你必须自己创建。
Retrying Failed Requests
RestTemplatede的失败重试,默认是不可用的,如果需要开启,需要设置spring.cloud.loadbalancer.retry.enabled=true
并且添加Spring Retry依赖。
1 | <dependency> |
具有负载均衡功能的RestTemplate将遵循Ribbon关于重试的配置,如client.ribbon.MaxAutoRetries
,client.ribbon.MaxAutoRetriesNextServer
,client.ribbon.OkToRetryOnAllOperations
。Ribbon具体的配置。
Multiple RestTemplate objects
如果需要同时使用具有负载均衡功能和普通的RestTemplate,可以如下配置:
1 | @Configuration |
RestTemplate bean上的@Primary注解表明当@Autowired时没有特殊修饰符时使用该实例。