Sentinel、Hystrix、Gateway 对比
面试+生产必备,Spring Cloud 微服务三大组件分工与核心区别。 我给你用最简单、最直白、最容易记的方式讲清楚:
这三个都是 SpringCloud 微服务必备组件,但分工完全不同!
一句话总定位(背这个)
- Sentinel:阿里开源 → 限流、熔断、降级、流量控制(现在主流)
- Hystrix:Netflix 开源 → 老一代熔断、限流、隔离(停止维护)
- Gateway:Spring 官方 → API 网关、路由、统一入口(全局大门)
一、Sentinel(阿里出品,生产现在必用)
核心功能:流量防卫兵
限流、熔断、降级、热点控制、系统保护
它能做什么?
- 限流:控制接口每秒最多访问多少次
- 熔断:调用下游服务失败率高 → 暂时切断,防止雪崩
- 降级:高峰期关闭非核心接口,保证核心可用
- 热点参数限流:针对商品ID、用户ID限流(防刷)
- 系统保护:CPU 高自动限流
优点
- 中文文档友好
- 可视化控制台
- 规则动态修改
- 功能比 Hystrix 更强
- 现在微服务默认使用
一句话总结
Sentinel = 微服务的保险丝 + 流量管家
二、Hystrix(老一代熔断器,已停更)
核心功能:服务熔断、隔离、降级
它是最早的微服务熔断组件,现在已经停止维护,被 Sentinel 替代。
它能做什么?
- 熔断:服务挂了 → 快速失败,不阻塞
- 线程池隔离:每个服务独立线程池,不互相影响
- 降级:返回兜底数据
缺点
- 官方不再更新
- 配置复杂
- 没有控制台
- 线程池隔离耗资源
一句话总结
Hystrix = 老一代熔断器,现在只出现在面试题里
三、Spring Cloud Gateway(微服务统一网关)
核心功能:微服务大门、统一入口、路由转发
所有请求先进网关,再转发到对应的服务
它能做什么?
- 路由转发
请求 /order/** → 转给订单服务
请求 /user/** → 转给用户服务 - 统一鉴权
登录、token 校验只写一次网关 - 限流
网关层统一限流 - 日志、监控、跨域、黑名单
- 请求响应统一处理
优点
- 异步非阻塞,性能高
- 功能强大
- Spring 官方标配
- 支持限流、熔断、路由
一句话总结
Gateway = 微服务的大门、门卫、总入口
四、三者最清晰对比(面试必背)
| 组件 | 角色 | 作用 | 状态 |
| Sentinel | 流量/熔断组件 | 限流、熔断、降级、热点 | 主流、在用 |
| Hystrix | 老熔断组件 | 熔断、隔离、降级 | 停止维护 |
| Gateway | 网关 | 统一入口、路由、鉴权、限流 | 官方标配 |
五、它们在微服务里的位置(超级形象)
- Gateway = 小区大门
- Sentinel/Hystrix = 每家房门的保险丝
六、面试标准答案(直接背)
- Sentinel 是阿里开源的流量控制、熔断降级组件,功能强大,现在微服务首选。
- Hystrix 是一代熔断组件,已停止维护,被 Sentinel 替代。
- Gateway 是微服务网关,负责统一入口、路由转发、鉴权、限流。
关联文档
- ../../container/Docker 容器网络深度原理 — 容器网络与微服务
- ../../kubernetes/service/K8s Service 核心原理 — K8s 服务发现与网关