我是靠谱客的博主 单薄白开水,最近开发中收集的这篇文章主要介绍《深入理解Spring Cloud与微服务构建》学习笔记(十三)~在RestTemplat和Ribbon上使用熔断器,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
继续在上一篇项目上扩展,在study_client module的pom.xml 添加熔断器依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
在启动类上添加 @EnableHystrix 注解,开启熔断器功能。
修改RibbonService代码,在hi方法上添加@HystrixCommand 熔断注解,hi方法就有了熔断功能,其中fallbackeMethod为回退逻辑的处理方法,在熔断器打开的状态下,会执行fallback逻辑。这里不建议处理复杂的逻辑,也不建议远程调度其他服务,如果需要也得在远程服务上加熔断功能:
@Service
public class RibboService {
@Autowired
RestTemplate restTemplate;
@HystrixCommand(fallbackMethod = "hiError")
public String hi(){
String url ="http://eureka-client/hello";
return restTemplate.getForObject(url,String.class);
}
public String hiError(){
return "sorry 发生熔断错误!";
}
}
依次启动eureka_service的peer1 实例 ,启动eureka_client的两个实例,启动study_client。
浏览器访问:http://localhost:8763/hi ,可以看到能直接访问到。
关闭eureka_client的一个实例,会看到刷新之后,会一会访问另一个实例,继续关闭另一个实例,此时界面显示熔断错误,也就是我们刚才代码里输入的字符串:
代码示例:https://download.csdn.net/download/ssdate/11011586
最后
以上就是单薄白开水为你收集整理的《深入理解Spring Cloud与微服务构建》学习笔记(十三)~在RestTemplat和Ribbon上使用熔断器的全部内容,希望文章能够帮你解决《深入理解Spring Cloud与微服务构建》学习笔记(十三)~在RestTemplat和Ribbon上使用熔断器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复