Sentinel和hystrix对比
Hystrix侧重点
- 隔离熔断为主的容错机制
 
sentinel侧重点S
- 多样化的流量控制
 - 熔断降级
 - 系统负载保护
 - 实时监控和控制台
 
共同特征
- 资源类型和执行模型
 
sentinel的特色
1. 轻量,高性能
2. 流量控制
3. 负载保护
4. 实时监控和控制面板
5. 生态
总结
| 对比项 | Sentinel | Hystrix | 
|---|---|---|
| 隔离策略 | 信号量隔离 | 线程池隔离/信号量隔离 | 
| 熔断降级策略 | 基于响应实践活动失败比率 | 基于失败比率 | 
| 实时指标实现 | 滑动窗口 | 滑动窗口(基于RxJava) | 
| 规则配置 | 支持多种数据源 | 支持多种数据源 | 
| 扩展性 | 多个扩展点 | 插件的形式 | 
| 基于注解的支持 | 支持 | 支持 | 
| 限流 | 基于QPS,支持基于调用关系的限流 | 有限的支持 | 
| 流量整型 | 支持慢启动、匀速器模式 | 不支持 | 
| 负载均衡保护 | 支持 | 不支持 | 
| 控制台 | 开箱即用,可配置规则、查看秒级监控、机器发现等 | 不完善 | 
| 常见的框架适配 | Servlet,Spring Cloud,Dubbo,gRPC等 | Servlet,Spring Cloud Netflix | 
| 开源否 | 开源 | 半开源 | 
结论
从产品层面来看,sentinel提供了更为丰富的功能和控制入口。更容易实现项目级的扩展。Hystrix的功能更偏向线程、信号量的隔离,作为插件的方式集成在服务中会比较适合,更偏向包级扩展。
  所以在这里建议:
- 在单纯的流量控制需求下,建议使用sentinel
 - 在需求到线程池隔离的功能下使用Hystrix
 
文档索引
【流量控制系列1】引言和索引
【流量控制系列2】流量控制的基础方法和算法
【流量控制系列3】Semaphore信号量介绍
【流量控制系列4】Sentinel和Hystrix对比
【流量控制系列5】Sentinel 详细介绍
【流量控制系列6】Sentinel 详细介绍-SlotChain源码解析
【流量控制系列7】Sentinel实践