Sentinel工作原理

简介: Sentinel 是面向分布式服务架构的流量治理组件,以“资源”为核心概念,通过流量控制、熔断降级、系统负载保护等规则保障系统稳定。支持灵活配置与动态调整,实现高可用防护。

Sentinel 基本概念

资源

资源是 Sentinel 的关键概念。它可以是 Java 应用程序中的任何内容,例如,由应用程序提供的服务,或由应用程序调用的其它应用提供的服务,甚至可以是一段代码。在接下来的文档中,我们都会用资源来描述代码块。

只要通过 Sentinel API 定义的代码,就是资源,能够被 Sentinel 保护起来。大部分情况下,可以使用方法签名,URL,甚至服务名称作为资源名来标示资源。

规则

围绕资源的实时状态设定的规则,可以包括流量控制规则、熔断降级规则以及系统保护规则。所有规则可以动态实时调整。

Sentinel 功能和设计理念

流量控制

流量控制在网络传输中是一个常用的概念,它用于调整网络包的发送数据。然而,从系统稳定性角度考虑,在处理请求的速度上,也有非常多的讲究。任意时间到来的请求往往是随机不可控的,而系统的处理能力是有限的。我们需要根据系统的处理能力对流量进行控制。Sentinel 作为一个调配器,可以根据需要把随机的请求调整成合适的形状,如下图所示:

流量控制有以下几个角度:

  • 资源的调用关系,例如资源的调用链路,资源和资源之间的关系;
  • 运行指标,例如 QPS、线程池、系统负载等;
  • 控制的效果,例如直接限流、冷启动、排队等。

Sentinel 的设计理念是让您自由选择控制的角度,并进行灵活组合,从而达到想要的效果。

熔断降级

什么是熔断降级

除了流量控制以外,降低调用链路中的不稳定资源也是 Sentinel 的使命之一。由于调用关系的复杂性,如果调用链路中的某个资源出现了不稳定,最终会导致请求发生堆积。这个问题和 Hystrix 里面描述的问题是一样的。

Sentinel 和 Hystrix 的原则是一致的: 当调用链路中某个资源出现不稳定,例如,表现为 timeout,异常比例升高的时候,则对这个资源的调用进行限制,并让请求快速失败,避免影响到其它的资源,最终产生雪崩的效果。

熔断降级设计理念

在限制的手段上,Sentinel 和 Hystrix 采取了完全不一样的方法。

Hystrix 通过线程池的方式,来对依赖(在我们的概念中对应资源)进行了隔离。这样做的好处是资源和资源之间做到了最彻底的隔离。缺点是除了增加了线程切换的成本,还需要预先给各个资源做线程池大小的分配。

Sentinel 对这个问题采取了两种手段:

  • 通过并发线程数进行限制

和资源池隔离的方法不同,Sentinel 通过限制资源并发线程的数量,来减少不稳定资源对其它资源的影响。这样不但没有线程切换的损耗,也不需要您预先分配线程池的大小。当某个资源出现不稳定的情况下,例如响应时间变长,对资源的直接影响就是会造成线程数的逐步堆积。当线程数在特定资源上堆积到一定的数量之后,对该资源的新请求就会被拒绝。堆积的线程完成任务后才开始继续接收请求。

  • 通过响应时间对资源进行降级

除了对并发线程数进行控制以外,Sentinel 还可以通过响应时间来快速降级不稳定的资源。当依赖的资源出现响应时间过长后,所有对该资源的访问都会被直接拒绝,直到过了指定的时间窗口之后才重新恢复。

系统负载保护

Sentinel 同时提供系统维度的自适应保护能力。防止雪崩,是系统防护中重要的一环。当系统负载较高的时候,如果还持续让请求进入,可能会导致系统崩溃,无法响应。在集群环境下,网络负载均衡会把本应这台机器承载的流量转发到其它的机器上去。如果这个时候其它的机器也处在一个边缘状态的时候,这个增加的流量就会导致这台机器也崩溃,最后导致整个集群不可用。

针对这个情况,Sentinel 提供了对应的保护机制,让系统的入口流量和系统的负载达到一个平衡,保证系统在能力范围之内处理最多的请求。

Sentinel 工作主流程

在 Sentinel 里面,所有的资源都对应一个资源名称以及一个 Entry。Entry 可以通过对主流框架的适配自动创建,也可以通过注解的方式或调用 API 显式创建;每一个 Entry 创建的时候,同时也会创建一系列功能插槽(slot chain)。这些插槽有不同的职责,例如:

  • NodeSelectorSlot 负责收集资源的路径,并将这些资源的调用路径,以树状结构存储起来,用于根据调用路径来限流降级;
  • ClusterBuilderSlot 则用于存储资源的统计信息以及调用者信息,例如该资源的 RT, QPS, thread count 等等,这些信息将用作为多维度限流,降级的依据;
  • StatisticSlot 则用于记录、统计不同纬度的 runtime 指标监控信息;
  • FlowSlot 则用于根据预设的限流规则以及前面 slot 统计的状态,来进行流量控制;
  • AuthoritySlot 则根据配置的黑白名单和调用来源信息,来做黑白名单控制;
  • DegradeSlot 则通过统计信息以及预设的规则,来做熔断降级;
  • SystemSlot 则通过系统的状态,例如 load1 等,来控制总的入口流量;

总体的框架如下:

Sentinel 将 ProcessorSlot 作为 SPI 接口进行扩展(1.7.2 版本以前 SlotChainBuilder 作为 SPI),使得 Slot Chain 具备了扩展的能力。您可以自行加入自定义的 slot 并编排 slot 间的顺序,从而可以给 Sentinel 添加自定义的功能。

更多

相关文章
|
8天前
|
存储 弹性计算 安全
从0到1看懂:阿里云服务器ECS是什么?详解、价格、优势及使用问题解答FAQ
阿里云ECS是基于飞天架构的弹性计算服务,提供高稳定、高性能、安全可靠的云服务器,支持多种计费模式与丰富规格族,适配企业应用、互联网、AI等上百种场景,助力用户实现算力随需所用、成本最优。
|
13天前
|
存储 弹性计算 关系型数据库
2026阿里云服务器2核2G3M99元和2核4G5M199元:活动规则与购买和续费注意事项解析
进入2026年,阿里云服务器经济型e实例云服务器2核2G3M带宽99元1年,通用算力型u1实例2核4G5M带宽199元1年,这两款特惠云服务器继续有效。虽然这两款云服务器是新老用户同享的,而且续费价格不变,但是在购买和续费过程中还是有一些注意事项需要我们提前了解的。
146 12
|
22天前
|
存储 弹性计算 人工智能
阿里云免费云服务器领取教程及阿里云免费云产品全解析:从资源配置到实用指南
在云计算普及的当下,阿里云作为国内领先的云服务提供商,长期推出免费云产品试用体系,覆盖从基础设施到上层应用的全场景需求,为个人开发者、学生及初创企业降低了上云门槛。然而,免费资源背后往往存在配置限制、合规要求等细节问题,用户需结合自身场景理性选择。本文基于阿里云官方规则与真实使用反馈,系统梳理免费云产品的资源矩阵、使用体验、常见风险及适配场景,为不同需求的用户提供全面参考。
|
22天前
|
存储 弹性计算 监控
金融量化场景下阿里云服务器 ECS 实例规格族选择指南
在金融量化交易场景中,计算性能、网络延迟与数据处理稳定性直接影响交易策略的执行效率与收益表现。阿里云服务器 ECS 作为核心算力支撑,其实例规格族的选择需围绕量化交易对 “高计算密度、低网络时延、高 IO 稳定性” 的核心需求展开。本文将结合阿里云最新实例迭代信息,从场景需求匹配、规格族性能对比、配置方案优化三个维度,系统梳理金融量化场景下 ECS 实例的选择逻辑。
|
21天前
|
存储 弹性计算 固态存储
阿里云服务器计算型、通用型、内存型等实例规格适用场景与选型指导
阿里云服务器实例规格从类型上来说有通用型(g系列)、计算型(c系列)、内存型(r系列)、通用算力型(U实例)、大数据型(d系列)、本地SSD型(i系列)、高主频型(hf系列)等十几种不同类型的实例规格。本文为大家整理汇总了计算型、通用型、内存型等实例规格的适用场景,以及云服务器ECS实例规格的选型指导,以供参考和选择。
|
5天前
|
安全 文件存储 数据安全/隐私保护
告别密码焦虑!开源密码神器 password-XL:安全、美观、全能的私有密码管家
password-XL是一款开源、安全的私有密码管理工具,支持本地或服务器部署,数据自主可控。美观界面、多端同步、功能丰富,适合个人与团队使用,告别密码泄露风险,打造专属数字管家。
107 12
告别密码焦虑!开源密码神器 password-XL:安全、美观、全能的私有密码管家
|
5天前
|
人工智能 弹性计算
阿里云权益中心2026年最新:个人、学生及企业用户上云补贴及活动政策解读
2026年阿里云优惠汇总:个人38元起/年,企业199元/年起,学生领300元券免费用。超160款产品免费试用,开通百炼享7000万tokens,企业迁云最高补5亿算力。先领券再下单更划算!
110 13
|
5天前
|
存储 弹性计算 关系型数据库
阿里云服务器及其他云产品免费试用活动解析:160多款产品支持试用,先试后用
阿里云推出涵盖160多款云产品的免费试用活动,覆盖计算、数据库、存储、网络与安全、大数据与AI等全场景。活动包含个人/企业版云服务器ECS(最高8核16G配置)、轻量应用服务器(预装宝塔面板等镜像)、RDS数据库(MySQL/PostgreSQL版)、对象存储OSS等核心产品,提供300元-660元试用金、流量包及企业级规格试用。
95 12
|
12天前
|
缓存 安全 网络安全
阿里云 ESA (边缘安全加速) 免费版2026年03月15日截止申请
阿里云ESA免费版现已向中国站用户开放,支持无限流量与国内节点加速(需备案),告别CF国内慢速。注册账号并实名即可申请,享5Mbps峰值带宽、免费HTTPS、缓存优化及基础安全防护,助力网站高效稳定运行。
136 16
|
8天前
|
存储 运维 对象存储
阿里云轻量应用服务器——2026个人及中小企业首选云服务器
阿里云轻量应用服务器,以轻量化、贴近应用、账单清晰、持续进化为核心优势,预装多种应用镜像,200M峰值带宽,支持网站搭建、小程序、电商独立站等多场景,38元/年起,是2026年个人与中小企业上云首选。