我是靠谱客的博主 单薄白开水,最近开发中收集的这篇文章主要介绍《深入理解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上使用熔断器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部