持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第12天,点击查看活动详情
Hystrix
1)概念
服务熔断降级
保护机制--保险丝
设计系统的保护策略
调用预先设计好的错误页面
2)服务降级
在启动类上加@EnableCircuitBreaker
也有整个controller类默认的:
这个是默认你超过1s没有返回,就会返回熔断页面的
我们来测试一下,我们在调用的方法里增加睡眠机制:
结果是返回熔断页
实际情况下,可能因为网络抖动会影响返回时间,我们可以修改超时时间:(一般3s)
这里面的property都是可以灵活配置的
3)OpenFeign使用Hystrix实现降级
OpenFeign和Hystrix是默认集成的
原来的consumer:
然后在comsumer的启动类上加@EnableCircuitBreaker
provider的user-api里的:
这就配置完了,是不是很简单?
这是还要注意一个部署前后关系的问题
consumer是有user-api的包的,要扫描上面刚写的那个@component
测试:
4)Hystrix熔断机制
自我关闭,自我恢复
用脚都能想到是在刚才的HystrixCommandProperties里的配置
还有一些根据线程池或者信号量的隔离策略,也是通过HystrixCommandProperties的参数修改
5)Hystrix Dashboard
监控
就会监控到一些信息,但是还是不是很直观!
Hystrix DashBorad
相当于不断调用上面的东西并且,将上面的json可视化
看到这里,就可以跳过这一节了
网页启动会有问题,需要根据开发者工具的报错修改文件,js版本不一致的问题
比如下面的一种:
正常页:

集群监控:
这里访问可以看到eureka里的服务的监控
再放到上面那个可视化界面里就行
6)SpringCloudGateway集成Hystrix
在我们上面的gateway中加
在我们之前的集群监控里面加上gateway的监控,也能看到: