前言
-
重磅 | Sentinel 成为 Spring Cloud 官方推荐的主流熔断降级方案
近日,Sentinel 贡献的 spring-cloud-circuitbreaker-sentinel 模块正式被Spring Cloud社区合并至 Spring Cloud Circuit Breaker,由此,Sentinel 加入了 Spring Cloud Circuit Breaker 俱乐部,成为 Spring Cloud 官方的主流推荐选择之一。这意味着,Spring Cloud 微服务的开发者在熔断降级领域有了更多的选择,可以更方便地利用 Sentinel 来保障微服务的稳定性。
来源:https://developer.aliyun.com/article/699979
官方介绍:限流熔断技术选型:从Hystrix到Sentinel -
Sentinel 的优势和特性:
-
轻量级,核心库无多余依赖,性能损耗小。
-
方便接入,开源生态广泛。Sentinel 对 Dubbo、Spring Cloud、Web Servlet、gRPC 等常用框架提供适配模块,只需引入相应依赖并简单配置即可快速接入;同时针对自定义的场景 Sentinel 还提供低侵入性的注解资源定义方式,方便自定义接入。
-
丰富的流量控制场景。Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,流控维度包括流控指标、流控效果(塑形)、调用关系、热点、集群等各种维度,针对系统维度也提供自适应的保护机制。
-
易用的控制台,提供实时监控、机器发现、规则管理等能力。
-
完善的扩展性设计,提供多样化的 SPI 接口,方便用户根据需求给 Sentinel 添加自定义的逻辑。
怎么使用?
怎么使用,看的是简书后羿大佬的教程:https://www.jianshu.com/u/51121bddcd2a
- Sentinel 原理-全解析
https://www.jianshu.com/p/0e218ef7f505 - Sentinel 原理-调用链
https://www.jianshu.com/p/5a468b6a07fe - Sentinel 原理-滑动窗口
https://www.jianshu.com/p/6ee4b7bdb844 - Sentinel 原理-实体类
https://www.jianshu.com/p/4a19f675ef5f - Sentinel 实战-控制台篇
https://www.jianshu.com/p/c47dfd25eeee - Sentinel 实战-规则持久化
https://www.jianshu.com/p/609961eb6a6e - Sentinel 实战-集群限流篇
https://www.jianshu.com/p/a52bf4073873 - Sentinel 实战-限流篇
https://www.jianshu.com/p/3b8d259666d9
遇到的问题
- 客户端在控制台不显示,控制台自己可以显示
参考文档:
https://www.cnblogs.com/selfchange/p/9933972.html 没有成功
https://www.cnblogs.com/binyue/p/12238578.html 没有成功
https://www.cnblogs.com/fx-blog/p/11720220.html 没有成功
https://blog.csdn.net/a3959678/article/details/97387215
报错信息:
java java.util.ServiceConfigurationError: com.alibaba.csp.sentinel.transport.HeartbeatSender: Provider com.alibaba.csp.sentinel.transport.heartbeat.SimpleHttpHeartbeatSender could not be instantiated
客户端启动成功后,第一次发送请求,进行注册,注册失败。
搜索了一上午,下午又搜索了1个半小时,各种尝试,终于解决了!!!
解决办法
https://github.com/alibaba/Sentinel/wiki
从官方wiki里面找到spring cloud的demo。
启动类上面标注了jvm启动参数。如果和自己本地的控制台地址没错,那就可以直接启动。启动成功后,访问controller里面的请求,发送心跳进行注册。(ps:可以把dubbo service删掉,只是测试注册的话,可以不用
)。
发送完毕,没有报错。这时候刷新控制台,即可看到新增的服务,以及其相关配置。仿照这个,把自己其他的服务加进去就可以了。
传送门:springboot集成sentinel控制台