← 每日面试题 学习看板

Hystrix和Sentinel的区别是什么?

面试题/00java/04 框架/02SpringCloud/Hystrix和Sentinel的区别是什么?.md

面试记录 2026-10-11

题目:Hystrix和Sentinel的区别是什么?

难度:low

标签:spring/cloud, difficulty/low

评分:⭐⭐⭐☆☆(3/5)

我的回答

首先二者都是处理熔断降级操作的。其中 Hystrix 主要就是提供熔断降级操作,但是 Sentinel 除了提供熔断降级,还提供包括限流等一系列其他功能。并且它有一个外部的扩展,可以通过外部的配置去对 Controller 进行指定的控制限流和熔断处理。CentOS 更灵活一些,并且 Debian 现在已经不维护了,CentOS 还在持续的更新维护中。

点评

优点:

不足:

补充:

完整讲解

第一部分:知识重点剖析

核心考点定位:考察微服务熔断降级组件的选型理解,区分 Hystrix 和 Sentinel 的功能边界与设计哲学。

知识点拆解:

  1. 功能范围:Hystrix 专注熔断降级 + 线程池隔离;Sentinel 覆盖限流 + 熔断降级 + 系统自适应保护 + 热点参数限流 + 实时分析
  2. 熔断策略:Hystrix 基于滑动窗口(统计窗口内请求量和错误率);Sentinel 支持慢调用比例/异常比例/异常数三种熔断策略,更灵活
  3. 流控效果:Sentinel 支持快速失败/Warm Up/排队等待/匀速通过四种流控效果;Hystrix 只有简单的线程池/信号量隔离
  4. 性能开销:Hystrix 基于线程池隔离,开销大;Sentinel 基于流量控制 + 熔断降级,开销小
  5. 维护状态:Hystrix 2018 年 Netflix 宣布停止维护,进入维护模式;Sentinel 阿里持续更新维护

第二部分:考察方向与延伸递进

考察方向:

延伸递进面试题:

  1. Sentinel 的流控效果有哪些?分别适用什么场景?
  1. Hystrix 的线程池隔离和信号量隔离有什么区别?
  1. Sentinel 的系统自适应保护是什么原理?

第三部分:面试者参考回答(三步法口语化,300-400 字)

【一句话结论】

面试官您好,Hystrix 专注熔断降级,Sentinel 覆盖限流 + 熔断 + 自适应保护,Sentinel 功能更全且持续维护。

【三点展开】

第一,功能范围不同。Hystrix 主要做熔断降级和线程池隔离,Sentinel 除了熔断降级还提供限流、热点参数限流、系统自适应保护,功能更全。

第二,熔断策略不同。Hystrix 基于滑动窗口统计错误率,Sentinel 支持慢调用比例、异常比例、异常数三种熔断策略,更灵活。Sentinel 还有四种流控效果:快速失败、Warm Up、排队等待、匀速通过。

第三,性能和维护状态不同。Hystrix 基于线程池隔离开销大,2018 年 Netflix 停止维护;Sentinel 基于流量控制开销小,阿里持续更新维护。

【一句边界】

当然,如果需要强线程隔离(防止下游慢调用拖垮上游),Hystrix 的线程池隔离仍有用武之地;但新项目推荐用 Sentinel,生态更活跃。