博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringCloud学习笔记(3)——Hystrix
阅读量:5745 次
发布时间:2019-06-18

本文共 911 字,大约阅读时间需要 3 分钟。

参考Spring Cloud官方文档第13、14、15章

13. Circuit Breaker: Hystrix Clients

Netflix提供了一个叫Hystrix的类库,它实现了断路器模式。在微服务架构中,通常一个微服务会调用多个其他的微服务。一个相对低层级的服务失败可能造成上层应用的级联失败,服务访问量越大失败率越高。当断路打开的时候,这个调用就被终止了。打开的断路可以阻止级联失败。

13.1 How to Include Hystrix

15.1 How to Include Hystrix Dashboard

为了使用Hystrix仪表盘,需要在Spring Boot main class上用@EnableHystrixDashboard注解标注。

 

上代码

在原先的ribbon-demo基础上修改

以上是在Ribbon中使用Hystrix,而Feign默认就支持Hystrix。下面看一下在Feign中如何使用Hystrix。

17.4 Feign Hystrix Support

如果Hystrix在classpath中,并且feign.hystrix.enabled=true的话,那么Feign将用断路器包装所有的方法。

注意:在Spring Cloud Dalston之前的版本中,如果classpath中有Hystrix,那么Feign默认回为所有的方法加上断路器。这种默认的行为在Spring Cloud Dalston版本中被改变了,取而代之的是可选的。

17.5 Feign Hystrix Fallbacks

Hystrix支持回调,当断路器打开的时候回回调默认的代码。为了回调指定的方法,可以在@FeignClient中设置fallback属性,它的值是类的名字。例如:

 

 如果需要获得回调触发的原因,可以使用@FeignClient的fallbackFactory属性。

上代码

基于先前的feigen-demo工程改造

 

其它的不变

个人感觉还是用@EnableCircuitBreaker+@HystrixCommand的方式更方便一点儿

 至于断路器仪表盘还是跟前面一样配置

 

转载地址:http://hmxzx.baihongyu.com/

你可能感兴趣的文章
Git提交本地库代码到远程服务器的操作
查看>>
让你快速上手的Glide4.x教程
查看>>
浮动和清除(闭合)浮动
查看>>
LR录制脚本时IE打不开的原因
查看>>
Sublime Text 2.0.2,Build 2221注册码
查看>>
最长递增子序列 动态规划
查看>>
原生CSS设置网站主题色—CSS变量赋值
查看>>
webpack 4.0 中 clean-webpack-plugin 的使用
查看>>
POJ 2236 Wireless Network (并查集)
查看>>
python分类
查看>>
GitBlit (1)-- 在linux 安装 GitBlit 并运行
查看>>
程序是如何执行的(一)a=a+1
查看>>
18 已知下面的字符串是通过RANDOM随机数变量md5sum|cut-c 1-8截取后的结果
查看>>
BZOJ - 3578: GTY的人类基因组计划2
查看>>
爱——无题
查看>>
分布式服务框架原来与实践 读书笔记一
查看>>
【http】post和get请求的区别
查看>>
TFS强制撤销某个工作区的文件签出记录
查看>>
EL表达式无法显示Model中的数据
查看>>
ps6-工具的基础使用
查看>>