一、demo项目搭建
引用网络资源: https://blog.csdn.net/forezp/article/details/81041113
具体的demo项目搭建可参见以上网络资源。"史上最简单的SpringCloud教程 "
二、基本知识点
基本上看完以下两图就足够了


三、Dashborad配置
http://ip:port/hystrix 打开以下页面

四、hystrix参数配置
以下这个博客已经对参数使用及分类说的非常详细了
引用网络资源:https://blog.csdn.net/tongtong_use/article/details/78611225
我本地demo的一个配置可以参考下:
#feign开启hystrix
feign.hystrix.enabled=true
#全局超时配置,单位ms,默认值1000ms
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=10000
#熔断触发的最小个数/10s,时间默认是10s
hystrix.command.default.circuitBreaker.requestVolumeThreshold=5
#ribbon的超时时间
ribbon.ReadTimeout=10000
ribbon.ConnectTimeout=10000
#同一实例最大重试次数,不包括首次调用。默认值为0
ribbon.MaxAutoRetries = 0
#同一个服务其他实例的最大重试次数,不包括第一次调用的实例。默认值为1
ribbon.MaxAutoRetriesNextServer = 0
#是否所有操作都允许重试。默认值为false
ribbon.OkToRetryOnAllOperations = false五、相关问题
1、HystrixCommandKey到底是个啥?

就是:类名#方法名() 就是dashboard这里显示出来的名字

2、hystrix.command.default.circuitBreaker.requestVolumeThreshold是时间是多长的,默认是10s
3、hystrix.command.default.execution.isolation.thread. timeoutInMilliseconds设置了超时时间为什么没生效?
需要考虑到feign最终还是要经过ribbon,ribbon有个默认重试1次的设置,同时也有默认超时时间1s。考虑到这2点就能正确的设置timeoutInMilliseconds的值了。
4、hystrix与springbootadmin
springbootadmin已经有个比较有好的管理界面,1.x的springbootadmin有把dashboard集成到springbootadmin中作为admin的一个菜单(在依赖中增加spring-boot-admin-server-ui-hystrix就可以)。看官方文档好像springbootadmin 2.x已经去掉了。
本文围绕Hystrix展开,介绍了demo项目搭建可参考网络资源,阐述基本知识点,说明了Dashborad配置和参数配置。还解答了相关问题,如HystrixCommandKey含义、请求量阈值时间、超时时间未生效原因,以及Hystrix与springbootadmin的集成情况。
167万+

被折叠的 条评论
为什么被折叠?



