美文网首页
Sentinel 的熔断与限流

Sentinel 的熔断与限流

作者: Martain | 来源:发表于2020-07-06 14:26 被阅读0次

sentinel是什么?

Sentinel 是阿里中间件团队研发的面向分布式服务架构的轻量级高可用流量控制组件,于2019年7月正式开源。Sentinel 主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户提升服务的稳定性。官方网站

主要特性

sentinel 特性

Sentinel 具有以下特征:

  • 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
  • 完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
  • 广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。
  • 完善的 SPI 扩展点:Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。

主要生态

sentinel生态图

sentinel的生态非常的强大,能够非常方便的支持目前主流的一些框架,并且它含有自带的web管理界面,可以说非常的方便。

Sentinel vs Hystrix

在SpringCloud Netflix版中,处理熔断降级主要用到是框架是Hystrix,对于Hystrix来说,sentinel吸收了Hystrix的一些很好的思想,并提供了更加强大,更加便捷的功能。

sentinel Hystrix
隔离策略 信号量隔离 线程池隔离、信号量隔离
熔断降级策略 基于响应时间或失败比例 基于失败比例
实时指标实现 滑动窗口 活动窗口(RxJava)
规则配置 支持多种数据源 支持多种数据源
扩展性 多个扩展点 插件形式
注解支持 支持 支持
限流 基于QPS,支持基于调用关系的限流
流量整形 支持慢启动、匀速器 不支持
负载保护 支持 不支持
控制台 开箱即用,可配置规则,秒级监控,机器发现等 不完善

sentinel 控制台

sentinel 控制台

sentinel 的控制台提供了一个可视化的控制工具,让我们很方便的在界面上操作服务的熔断和限流,并遵循了约定》配置》编码,具体使用可以 参考文档

相关文章

网友评论

      本文标题:Sentinel 的熔断与限流

      本文链接:https://www.haomeiwen.com/subject/dmiwqktx.html