11.1Sentinel简介

分类: Sentinel流量控制与熔断

Sentinel 简介

Sentinel 是 Spring Cloud Alibaba 的流量控制和熔断降级组件。本节将学习 Sentinel 的基本概念。

本章节内容参考官方文档顺序: 根据 Sentinel 官方文档 - Introduction,官方文档按照以下顺序讲解:

  1. What is Sentinel(Sentinel 是什么)
  2. Key Features(核心功能)
  3. Design Philosophy(设计理念)
  4. Use Cases(使用场景)

本节将学习:Sentinel 是什么、核心功能、设计理念、与 Hystrix 对比,以及适用场景。

Sentinel 是什么

官方定义

根据 Sentinel 官方文档 - Introduction,Sentinel 的定义是:

Sentinel 是面向分布式服务架构的轻量级流量控制框架,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

设计理念

官方文档说明了 Sentinel 的设计理念:

  1. 以流量为切入点:Sentinel 从流量控制入手,通过控制流量来保护服务的稳定性
  2. 多维度保护:不仅提供流量控制,还提供熔断降级、系统负载保护等多维度保护
  3. 轻量级设计:Sentinel 采用轻量级设计,对应用性能影响小
  4. 实时监控:提供实时监控和控制台,方便运维和开发人员查看系统状态

核心功能

主要功能

根据官方文档,Sentinel 的核心功能包括:

1. 流量控制(Flow Control)

  • QPS 限流:控制每秒请求数,防止系统过载
  • 线程数限流:控制并发线程数,保护系统资源
  • 关联限流:根据关联资源的流量进行限流
  • 链路限流:根据调用链路进行限流
  • 预热限流:系统启动时逐步增加流量,避免冷启动问题

2. 熔断降级(Circuit Breaking)

  • 慢调用比例:当慢调用比例超过阈值时触发熔断
  • 异常比例:当异常比例超过阈值时触发熔断
  • 异常数:当异常数超过阈值时触发熔断
  • 熔断恢复:支持自动恢复和手动恢复

3. 系统自适应保护(System Adaptive Protection)

  • 系统负载保护:根据系统负载自动调整流量控制策略
  • CPU 使用率保护:根据 CPU 使用率自动调整流量控制策略
  • 入口 QPS 保护:根据入口 QPS 自动调整流量控制策略

4. 实时监控(Real-time Monitoring)

  • 实时监控面板:提供实时监控和控制台
  • 规则管理:支持规则的动态配置和管理
  • 统计信息:提供详细的统计信息和报表

与 Hystrix 对比

对比表

特性SentinelHystrix
流量控制支持不支持
熔断降级支持支持
系统保护支持不支持
实时监控支持支持
规则配置动态配置静态配置

适用场景

使用场景

Sentinel 适用场景:

  • 流量控制
  • 熔断降级
  • 系统保护
  • 实时监控

官方资源

根据 Sentinel 官方文档,Sentinel 的核心特性包括:

  1. 流量控制:Sentinel 提供了丰富的流量控制手段,包括 QPS 限流、并发线程数限流、系统自适应限流等。官方文档强调,Sentinel 的限流规则支持多种维度(如接口、方法、资源等),并且可以在运行时动态调整,无需重启应用。

  2. 熔断降级:Sentinel 支持多种熔断策略,包括慢调用比例、异常比例、异常数等。官方文档中提到,Sentinel 的熔断降级机制可以自动检测服务异常,快速失败,避免级联故障,保护系统稳定性。

  3. 系统自适应保护:Sentinel 提供了系统级别的自适应保护机制,可以根据系统的实时负载、CPU 使用率、入口 QPS 等指标,自动调整流量控制策略,防止系统被压垮。

参考资源

本节小结

在本节中,我们学习了:

第一个是 Sentinel 是什么。 Sentinel 是流量控制框架。

第二个是核心功能。 流量控制、熔断降级、系统保护、实时监控。

第三个是与 Hystrix 对比。 Sentinel 和 Hystrix 的对比。

第四个是适用场景。 Sentinel 的使用场景。

这就是 Sentinel 简介。了解 Sentinel 的基本概念,是使用 Sentinel 的基础。

在下一节,我们将学习 Sentinel 核心概念。