【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. 服务雪崩

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

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

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

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

相关推荐
廋到被风吹走4 天前
稳定性保障:限流降级深度解析 —— Sentinel滑动窗口算法与令牌桶实现
运维·算法·sentinel
笨蛋不要掉眼泪8 天前
Sentinel 热点参数限流实战:精准控制秒杀接口的流量洪峰
java·前端·分布式·spring·sentinel
笨蛋不要掉眼泪9 天前
Sentinel 流控规则详解:三种模式与三种效果实战指南
java·jvm·数据库·后端·sentinel
Jinkxs10 天前
Sentinel - 在 Dubbo 微服务中使用:Alibaba 生态无缝集成
微服务·sentinel·dubbo
笨蛋不要掉眼泪10 天前
Spring Cloud Alibaba Sentinel 从入门到实战:微服务稳定性的守护者
分布式·微服务·云原生·架构·sentinel
tod11310 天前
Redis Sentinel 高可用架构:从原理到 Docker 部署全解析
数据库·redis·docker·架构·sentinel
递归尽头是星辰12 天前
Sentinel + Spring Cloud Gateway 联动限流实战
系统架构·sentinel·限流·微服务治理·限流架构设计
万象.12 天前
redis哨兵sentinel的部署及作用
redis·sentinel
七夜zippoe13 天前
分布式系统弹性设计实战:Hystrix与Sentinel熔断降级深度解析
java·hystrix·sentinel·aws·分布式系统
程序员敲代码吗14 天前
微服务熔断降级配置详解与实践:使用Sentinel和Nacos
java·微服务·sentinel