近日,Sentinel 贡献的 spring-cloud-circuitbreaker-sentinel 模块正式被Spring Cloud社区合并至 Spring Cloud Circuit Breaker,由此,Sentinel 加入了 Spring Cloud Circuit Breaker 俱乐部,成为 Spring Cloud 官方的主流推荐选择之一。这意味着,Spring Cloud 微服务的开发者在熔断降级领域有了更多的选择,可以更方便地利用 Sentinel 来保障微服务的稳定性。
Spring Cloud Circuit Breaker是 Spring Cloud 官方的熔断器组件库,提供了一套统一的熔断器抽象API接口,允许开发者自由选择合适的熔断器实现。这个官方的熔断器组件库,截至目前,官方推荐的熔断器组件有:
当前,Spring Cloud Circuit Breaker 处于孵化阶段中,未来将合并到 Spring Cloud 主干版本正式发布。
https://github.com/spring-cloud-incubator/spring-cloud-circuitbreaker
2012 年,Sentinel 诞生于阿里巴巴集团内部,主要功能为入口流量控制;
2013 - 2018 年,Sentinel 在阿里巴巴集团内部迅速发展,成为基础技术模块,覆盖了所有的核心场景。Sentinel 也因此积累了大量的流量控制场景以及生产实践;
2018年7月,阿里巴巴宣布限流降级框架组件 Sentinel 正式开源,在此之前,Sentinel 作为阿里巴巴“大中台、小前台”架构中的基础模块,已经覆盖了阿里的所有核心场景,因此积累了大量的流量归整场景以及生产实践;
2018年9月,Sentinel 发布 v0.2.0版本,释放异步调用支持、热点参数限流等多个重要特性;
2018年10月,Sentinel 发布首个 GA 版本 v1.3.0,该版本包括 Sentinel 控制台功能的完善和一些 bug 修复,以及其它的产品改进;
2018年12月,Sentinel发布v1.4,加入了开发者关注的集群流控功能;
2019年1月,Sentinel发布v1.4,加入了开发者关注的集群流控功能;
2019年3月,Sentinel 发布1.5.0 ,引入 Reactive 支持;
2019年4月,Sentinel 贡献的 spring-cloud-circuitbreaker-sentinel 模块正式被Spring Cloud社区合并至 Spring Cloud Circuit Breaker,成为 Spring Cloud 官方的主流推荐选择之一。
2019年4月25日,Sentinel 发布 1.6.0 ,提供对 Spring Cloud Gateway、Zuul 等主流 API Gateway 的定制化支持。
Sentinel 的核心思想:根据对应资源配置的规则来为资源执行相应的流控/降级/系统保护策略。在 Sentinel 中资源定义和规则配置是分离的。用户先通过 Sentinel API 给对应的业务逻辑定义资源,然后可以在需要的时候动态配置规则。
Sentinel 的优势和特性:
更多技术特点介绍:
高可用架构社区专访,点击 这里
技术选型:Sentinel vs. Hystrix,点击 这里
目前已有不少企业用户在使用开源版本和云上版本的Sentinel,包括顺丰、vivo、每日优鲜、拼多多、易企秀、爱奇艺、融金所、VIPKID、喜马拉雅FM、百融金服等(按登记顺序排序),我们也在社区发起了“who is using Sentinel”[7]的issue,可以去这个页面了解各家企业的使用场景。
同时,我们提供了 Sentinel 的云上实现,并融入架构可视化、故障演练等功能,形成阿里云高可用服务 AHAS,目的是帮助更多开发者更方便的接入应用高可用能力。
阿里云高可用服务 AHAS: https://cn.aliyun.com/product/ahas )
未来,Sentinel 会继续在无规则容量保护的路上探索,提供更多自适应限流策略,更好地结合系统容量来进行流量控制。另外,Sentinel 也会支持更广泛的开源生态,包括 API Gateway、Service Mesh、多语言客户端等;同时也会抽象出标准的指标和监控接口,方便对接 Prometheus 等常用的监控系统。未来 Sentinel 会进一步强化集群流控的能力,加强对 Cloud Native 生态和 Service Mesh 的支持,在云原生相关领域更好地发挥稳定性保障的作用。
和 Sentinel 相关的开源项目
Sentinel: https://github.com/alibaba/Sentinel
Spring Cloud: https://spring.io/projects/spring-cloud
Spring Cloud Circuit Breaker : https://github.com/spring-cloud-incubator/spring-cloud-circuitbreaker
Dubbo: http://dubbo.apache.org/en-us/
Spring Cloud Alibaba: https://github.com/spring-cloud-incubator/spring-cloud-alibaba
Nacos: https://github.com/alibaba/nacos ]( https://github.com/alibaba/nacos ]( https://github.com/alibaba/na... ://github.com/alibaba/nacos)
Sentinel Contributors
@sczyh30, @carpenterLee, @cdfive, @jasonjoo2010, @mjaow, @canglang1973, @talshalti, @kexianjun,@yikangfeng, @luoxn28, @all4you, @nicktan, @jz0630, @bitonly, @zhaixiaoxiang, @dqing0, @paulkennethkent, @shxz130, @zhousiliang163, @beston123, @lawrencewu, @blindpirate, @HaojunRen, @ATAXGT, @hantianwei, @MickMo, @yklove, @xburning, @yanlinly, @aalmiray, @Leishunyu, @wangjunwei87, @kangyl, @Arlmls, @YoungHu, @foreveryang321, @fangjian0423, @allencloud, @ro9er, @xcaspar, @shannon312, @waveng, @yfh0918, @refactormachine, @jialianglinjl, @kimmking, @nobodyiam, @guonanjun, @manzhizhen, @xg1907
本文作者:中间件小哥
阅读原文
本文为云栖社区原创内容,未经允许不得转载。