【Spring Cloud Alibaba】Sentinel(一)

【Spring Cloud Alibaba】Sentinel(一)

  • [1. 简介](#1. 简介)
  • [2. 服务雪崩](#2. 服务雪崩)

1. 简介

Sentinel 是阿里巴巴开源的分布式系统的流量防护组件,主要用来做流量控制、熔断降级、系统保护 。它的定位类似于 Hystrix ,但更侧重在 流量治理 上。目前在微服务、服务网关、大型分布式系统中广泛使用,Spring Cloud Alibaba 体系中也自带集成。

=======================================================

🌟 Sentinel 的核心功能

1.流量控制(限流)

  • 可以针对 QPS(每秒请求数)、并发线程数、调用关系等维度设置阈值。
  • 支持 匀速排队、预热模式、冷启动模式 等策略,避免突发流量冲击。

2.熔断降级

  • 根据 异常比例、异常数、响应时间 等指标,对调用链路进行熔断。
  • 熔断后会在一段时间内快速失败,避免故障蔓延。

3.系统保护

  • 基于 系统整体负载(如 CPU 使用率、RT、线程数) 进行自适应保护。
  • 防止因为单个服务请求过多而导致整个系统雪崩。

4.实时监控

  • 提供 控制台,可以实时查看各个服务的限流、熔断、请求量、响应时间等信息。

====================================================

📚 Sentinel 的工作原理

核心是 对请求进行统计与规则判断:

  1. 请求进入时,Sentinel 先判断是否超出阈值。
  2. 如果超出,直接拦截(触发限流/熔断)。
  3. 如果没有超出,就继续放行。

规则可以在 代码中硬编码,也可以通过 动态配置(Nacos、Apollo、ZooKeeper 等) 来下发。

=====================================================

✅ Sentinel 的优势

  • 轻量级,不依赖重量级框架,接入成本低。
  • 功能全面:限流 + 熔断 + 系统保护 + 实时监控。
  • 动态规则:可结合配置中心(Nacos、Apollo 等)。
  • 生态完善:已集成 Spring Cloud、Dubbo、gRPC、Spring WebFlux 等主流框架。

2. 服务雪崩

比如一个电商系统是微服务系统,它包含了秒杀商品、商品详情、购物车、积分等服务,且服务之间也是相互调用的。

如果其中一个服务挂了,比如说秒杀开始了,积分服务因为性能问题,挂了。

后续的话,因为积分服务挂掉了,后续的用户请求到积分的时候,所有的请求都会积压到这里,得不到响应。会重复请求导致服务压力更大。然后后面的请求又会积压到商品服务,慢慢的商品服务也挂掉了,后面整条链路的服务都会挂掉。这就是服务雪崩。

补充:服务挂掉的原因,如激增流量、不稳定服务依赖等等。

相关推荐
齐 飞21 小时前
Spring Cloud Alibaba快速入门-Sentinel流量控制(FlowRule)
spring cloud·微服务·sentinel
Takumilove2 天前
Spring Boot 接入 Redis Sentinel:自动主从切换与读写分离实战(修复单机多实例与 Sentinel 配置坑)
spring boot·redis·sentinel
波波烤鸭11 天前
Redis 高可用实战源码解析(Sentinel + Cluster 整合应用)
数据库·redis·sentinel
hzzzzzo012 天前
微服务保护全攻略:从雪崩到 Sentinel 实战
数据库·微服务·sentinel
没有bug.的程序员13 天前
Redis Sentinel:高可用架构的守护者
java·redis·架构·sentinel
波波烤鸭14 天前
Sentinel 原理与源码解析:流控、熔断、降级到热点限流的一体化方案
sentinel
曾经的三心草14 天前
springcloud二-Sentinel
spring·spring cloud·sentinel
T_Ghost17 天前
SpringCloud微服务服务容错机制Sentinel熔断器
spring cloud·微服务·sentinel
你是人间五月天18 天前
sentinel实现控制台与nacos数据双向绑定
windows·sentinel
无名客018 天前
sentinel限流常见的几种算法以及优缺点
算法·sentinel·限流