继续上一篇,接下来Springcloud配置Netflix-Ribbon集成Hystrix断路器的功能。
1、添加依赖
<!--使用hystrix,测试断路器--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency>
2、启动类
@EnableHystrix
3、controller层
修改之前的controller层,添加hystrix特有的fallbackMethod进行断路器
@RequestMapping(value = "/ribbon") @RestController public class LoadBalanceController { private Logger logger = LoggerFactory.getLogger(LoadBalanceController.class); @Autowired RestTemplate restTemplate; @GetMapping(value = "/toLoadBalance") @HystrixCommand(fallbackMethod = "ribbonHystrixError") public void toLoadBalance(){ for (int i = 0; i < 10; i++){ String str = restTemplate.getForObject("http://eureka-client/testRabbion",String.class); logger.info(str); } } public void ribbonHystrixError(){ logger.info("ribbon error"); } }
4、启动测试
启动eureka-server,netflix-ribbon,调用接口
http://localhost:8075/ribbon/toLoadBalance
测试成功