首页 > 编程语言 > 详细

SpringCloud项目构建(五):熔断器Hystrix

时间:2020-02-13 17:31:31      阅读:57      评论:0      收藏:0      [点我收藏+]

1.1什么是Hystrix

Hystrix [h?st‘r?ks]的中文含义是豪猪, 因其背上长满了刺,而拥有自我保护能力

 技术分享图片

Hystrix 能使你的系统在出现依赖服务失效的时候,通过隔离系统所依赖的服务,防止服务级联失败,同时提供失败回退机制,更优雅地应对失效,并使你的系统能更快地从异常中恢复。

了解熔断器模式请看下图:

 技术分享图片

 

 

 

1.2 演示demo

 (1)修改上文springCloudDemo_eurekaClient_B中的application.yml(Feign 本身支持Hystrix,不需要额外引入依赖)

feign:
hystrix:
enabled: true



(2)在springCloudDemo_eurekaClient_B中的com.xxxxx.client包下创建impl包,包下创建熔断实现类,实现自接口
import com.hongyin.client.DemoClient;
import org.springframework.stereotype.Component;

@Component
public class DemoClientImpl implements DemoClient {
@Override
public String getPort() {
return "我执行失败了,我来自client-B";
}
}

(3)修改DemoClient注解中的注解
技术分享图片
@FeignClient(value = "clienta",fallback = DemoClientImpl.class)
技术分享图片

(4)修改springCloudDemo_eurekaClient_A模块使其运行异常,测试运行

技术分享图片

 

可以看到当client-B调用client-A执行出现错误的时候,触发了client-B中的熔断机制

 技术分享图片

SpringCloud项目构建(五):熔断器Hystrix

原文:https://www.cnblogs.com/tukoushuidedanianyu/p/12304065.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!