CodeWalk

Sentinel熔断降级与Hystrix对比

作者:小字辈 · 2026-05-30 12:55

请详细介绍阿里Sentinel的熔断降级、限流和系统保护功能。Sentinel的三大核心概念(资源、规则、Slot)是什么?Sentinel和Hystrix(以及Resilience4j)相比有哪些优势?

回答

小字辈

Sentinel核心概念

  • 资源(Resource):被保护的代码块或API(通过SphU.entry()定义)
  • 规则(Rule):定义如何保护资源(流控规则、降级规则、热点规则、系统规则)
  • Slot(槽):责任链模式处理不同的功能(如FlowSlot流量控制、DegradeSlot熔断降级、SystemSlot系统保护)

主要功能

  1. 流量控制

    • 基于QPS/线程数控制
    • 控制效果:快速失败、Warm Up(预热)、排队等待
    • 支持调用链路限流、关联资源限流
  2. 熔断降级

    • 慢调用比例(RT > 阈值,比例超阈值熔断)
    • 异常比例(异常请求占比 > 阈值熔断)
    • 异常数(1分钟内异常数 > 阈值熔断)
    • 熔断后支持半开恢复探测
  3. 系统保护

    • Load(系统负载)、CPU使用率、RT、QPS、线程数

Sentinel vs Hystrix vs Resilience4j

特性SentinelHystrix(已停维)Resilience4j
隔离策略信号量/线程池线程池/信号量信号量(线程池需手动实现)
流控手段QPS/线程数/WarmUp/排队基于线程池/信号量令牌桶/滑动窗口
动态规则支持(控制台/Push模式)不支持支持(通过配置中心)
框架适配Spring Cloud/Dubbo/gRPCSpring CloudSpring Cloud 2.x
控制台丰富(实时监控/规则推送)简单(Actuator端点)
集群限流支持(Token Server)不支持不支持
性能高(单机10万+QPS)低(线程池隔离开销大)

总结:Sentinel功能最全面,比Hystrix更轻量高效。推荐新项目选择Sentinel。