请从定义与运行机制两个层面说明 Sentinel 是什么,以及它是怎样完成流量治理的?
考察说明
考查对 Sentinel 核心概念与工作原理的理解。
回答思路
- 【回答框架 1】Sentinel 是面向分布式服务架构的轻量级高可用防护组件,主要提供流量控制、熔断降级和系统负载保护能力,其核心目标是保障服务稳定性。
- 【回答框架 2】工作过程围绕资源展开:任意代码段、方法或接口都可被定义为资源,Sentinel 通过为资源配置规则并实时统计调用链路上的指标数据,例如 QPS、线程数、响应时间等。
- 【回答框架 3】当统计指标触发预设规则时,Sentinel 会执行对应的控制动作:流量控制限制并发请求量,熔断降级在依赖异常或慢调用比例过高时切断调用并快速失败,系统保护则在系统负载超过阈值时进行自适应限流。
- 【回答框架 4】整个流程依赖滑动窗口进行指标统计,并支持通过控制台配置规则与查看实时监控,实现动态调整。
- 【关键点 1】Sentinel 以资源为核心,通过规则与实时指标统计实现流量控制、熔断降级和系统保护。
- 【关键点 2】统计基于滑动窗口,保证高并发下的性能与准确性。
- 【关键点 3】控制动作包括限流、降级与快速失败,均以保护系统稳定性为目标。
- 【易错点 1】不要将 Sentinel 仅视为限流工具,它同样覆盖熔断降级与系统保护。
- 【易错点 2】滑动窗口的具体时间粒度属于可配置项,不应对默认值做出绝对承诺。