什么是 Sentinel?
在分布式系统中,服务间的依赖关系错综复杂。一个服务的故障,很可能像多米诺骨牌一样,迅速蔓延并导致整个系统崩溃,这就是我们常说的“雪崩效应”。为了避免这种灾难性后果,我们需要一种强大的机制来保护我们的系统,而 Sentinel 正是为此而生。
Sentinel 是由阿里巴巴开源的一款高性能、轻量级的流量控制、熔断降级组件。它以流量为切入点,从多个维度保护服务的稳定性,帮助我们构建更健壮、更可靠的分布式应用。
Sentinel 能做什么?
Sentinel 的核心功能围绕着流量控制和系统保护,主要体现在以下几个方面:
-
流量控制 (Flow Control):这是 Sentinel 最基本也是最重要的功能。它可以根据预设的规则,限制单位时间内通过的请求数量,防止突发流量冲垮服务。想象一下,如果你的服务每秒只能处理 1000 个请求,但突然涌入了 10000 个请求,Sentinel 就能及时介入,阻止额外的 9000 个请求涌入,从而保护服务不被压垮。流量控制可以基于 QPS(每秒查询数)、并发线程数等多种维度进行。
-
熔断降级 (Circuit Breaking & Degradation):当服务出现故障或响应缓慢时,为了避免故障扩散,Sentinel 会自动触发熔断。一旦熔断,后续对该服务的请求将直接失败,而不是继续尝试,从而给故障服务一个恢复的时间。当服务恢复正常后,熔断器会自动闭合,恢复正常调用。熔断降级的策略可以基于响应时间、异常比例等指标进行配置。
<