微服务-SpringCloud学习系列: 熔断保护Sentinel
Posted Masting
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务-SpringCloud学习系列: 熔断保护Sentinel相关的知识,希望对你有一定的参考价值。
Sentinel支持信号量隔离(不支持线程池隔离),多种熔断降级策略,支持QPS流量控制。Sentinel是Hystrix的替代方案。
Sentinel的核心概念:资源,规则,检验规则是否生效。
1.Sentinel的使用
①安装管理控制台(去官网下载对应的jar包,注意启动脚本中jar的版本)
②将所有微服务交给控制台管理
在微服务中引入依赖和增加配置(这里注意Sentinel是懒加载,在接收到请求之后才能在控制台看到数据,也可以在控制台配置各种规则)
③对服务的熔断保护
④Sentinel的简单原理
2.Sentinel的本地配置(因为控制台的配置是在内存中存储的,重启之后就会失效)
配置项
本地限流规则配置:
3.Sentinel对Template调用的全局熔断保护
在RestTemplate的Bean上增加@SentinelRestTemplate注解并配置熔断降级的类和方法或者异常降级的类和方法
这里注意降级方法的中返回值SentinelClientHttpResponse中需要的设置成对应返回值的JSON字符串,否则会发生JSON解析异常。
4.Sentinel对Feign的全局降级配置
①引入依赖
②配置开启Sentinel支持
③编写降级类
和Hystrix对Feign的熔断降级类似,配置完成后可以在控制台配置规则。
5.总结
Sentinel是由阿里巴巴开发的熔断保护组件,支持灵活的配置规则(例如限流规则,熔断规则)
以上是关于微服务-SpringCloud学习系列: 熔断保护Sentinel的主要内容,如果未能解决你的问题,请参考以下文章