您现在的位置是:首页 > 编程 > 

Sentinel诞生的背后故事,你知道多少?

2025-07-27 06:56:10
Sentinel诞生的背后故事,你知道多少? 1 Sentinel是啥?随微服务流行,服务和服务之间稳定性越来越重要。Sentinel是面向分布式服务架构的轻量级流量控制框架,以流量为切入点,从流控、熔断降级、系统负载保护等多维保障服务稳定性。曾经:如今:可完成替代 etflix-hystrix。2 发展2012年,Sentinel诞生,主要功能为入口流量控制201-2017年,Sentine

Sentinel诞生的背后故事,你知道多少?

1 Sentinel是啥?

随微服务流行,服务和服务之间稳定性越来越重要。Sentinel是面向分布式服务架构的轻量级流量控制框架,以流量为切入点,从流控、熔断降级、系统负载保护等多维保障服务稳定性。

曾经:

如今:

可完成替代 etflix-hystrix。

2 发展
  • 2012年,Sentinel诞生,主要功能为入口流量控制
  • 201-2017年,Sentinel在阿里内部迅速发展,成为基础技术模块,覆盖所有核心场景,积累了大量流量归整场景及生产实践
  • 2018年,Sentinel 开源
雪崩效应

系统依赖的某个服务发生延迟或故障,数秒内导致所有应用资源(线程,队列等)被耗尽,造成雪崩效应。

cascading failure(级联失效 / 级联故障):

4 容错方案

4.1 超时模式

最常见的容错模式。

常见的有设置网络连接超时时间,一次RPC的响应超时时间。

主要解决当依赖服务出现建立网络连接或响应延迟,不用无限等待的问题,调用方可根据预置超时时间中断调用,及时释放关键资源,如Web容器的连接数,数据库连接数等,避免整个系统资源耗尽,而出现拒绝对外提供服务。

思想

只要释放够快,我就没那么容易挂~

4.2 限流(Rate Limiting/Load Shedder)

常用于下游服务容量有限,但又怕出现突发流量猛增(如爬虫,大促)而导致下游服务因压力过大而拒绝服务的场景。常见的限流模式有控制并发和控制速率

  • 一个是限制并发的数量
  • 一个是限制并发访问的速率。
思想

我就一碗饭量,给多了我也不吃!

4. 舱壁隔离(Bulkhead Isolation)

造船行业使用此类模式,利用舱壁将不同船舱隔离,这样若一个船舱破了进水,只损失一个船舱,其它船舱可不受影响。借鉴造船行业经验,这种模式也在软件行业使用。

线程隔离(Thread Isolation)就是这种模式的常见场景。如系统A调用ServiceB、C、D三个远程服务,且部署A的容器一共有120个工作线程,采用线程隔离机制,可以给对B、C、D的调用各分配40个线程。当B慢了,给B分配的40个线程因慢而阻塞并最终耗尽,线程隔离可保证给C、D分配的80个线程不受影响。若无这种机制,当B慢时,120个工作线程会很快全部被对B的调用吃光,整个系统会全部慢下来,甚至系统停止响应。

实践经常遇到,如某接口由于数据库慢查询,外部RPC调用超时导致整个系统的线程数过高,连接数耗尽。可用舱壁隔离模式,为这种依赖服务调用维护一个小的线程池,当一个依赖服务由于响应慢导致线程池任务满的时候,不影响其他依赖服务的调用,缺点:增加线程数。

思想

别把鸡蛋放在一个篮子!

4.4 断路器模式

断路器三态转换:

思想

监控 + 开关

5 Sentinel VS hystrix

特性

Sentinel

Hystrix

隔离策略

信号量隔离

线程池隔离/信号量隔离

熔断降级策略

基于响应时间或失败比率

基于失败比率

实时指标实现

滑动窗口

滑动窗口(基于 RxJava)

规则配置

支持多种数据源

支持多种数据源

扩展性

多个扩展点

插件的形式

基于注解的支持

支持

支持

限流

基于 QPS, 支持基于调用关系的限流

有限的支持

流量整形

支持慢启动、匀速器模式

不支持

系统负载保护

支持

不支持

控制台

开箱即用, 可配置规则、查看秒级监控、机器发现等

不完善

常见框架的适配

Servlet、Spring Cloud、Dubbo、gRPC 等

Servlet、Spring Cloud、etflix

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1190076.html

相关标签:无
上传时间: 2025-07-22 19:42:39
留言与评论(共有 11 条评论)
本站网友 她不爱我了
22分钟前 发表
整个系统会全部慢下来
本站网友 海西新闻
18分钟前 发表
调用方可根据预置超时时间中断调用
本站网友 sql触发器
11分钟前 发表
熔断降级
本站网友 德州学校
8分钟前 发表
可用舱壁隔离模式
本站网友 北京癫痫病专科医院
9分钟前 发表
利用舱壁将不同船舱隔离
本站网友 什么是多线程
12分钟前 发表
我就没那么容易挂~4.2 限流(Rate Limiting/Load Shedder)常用于下游服务容量有限
本站网友 什么是净身器
8分钟前 发表
Spring Cloud
本站网友 joestar
20分钟前 发表
服务和服务之间稳定性越来越重要
本站网友 根治灰指甲
20分钟前 发表
大促)而导致下游服务因压力过大而拒绝服务的场景
本站网友 急性乳腺炎
14分钟前 发表
外部RPC调用超时导致整个系统的线程数过高