第一章:Sentinel 简介¶
什么是 Sentinel?¶
Sentinel 是阿里巴巴开源的流量控制组件,提供流量控制、熔断降级、系统负载保护等功能。
┌─────────────────────────────────────────────────────────────┐
│ Sentinel 架构 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 应用层 │ │
│ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ │
│ │ │ Service A │ │ Service B │ │ Service C │ │ │
│ │ │ Sentinel │ │ Sentinel │ │ Sentinel │ │ │
│ │ └───────────┘ └───────────┘ └───────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Sentinel Dashboard │ │
│ │ ┌───────────────────────────────────────────────┐ │ │
│ │ │ • 实时监控 │ │ │
│ │ │ • 规则配置 │ │ │
│ │ │ • 集群管理 │ │ │
│ │ └───────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 规则存储 │ │
│ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ │
│ │ │ Nacos │ │ ZooKeeper │ │ Apollo │ │ │
│ │ └───────────┘ └───────────┘ └───────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
核心功能¶
1. 流量控制¶
2. 熔断降级¶
3. 系统自适应保护¶
4. 热点参数限流¶
与其他组件对比¶
| 特性 | Sentinel | Hystrix | Resilience4j |
|---|---|---|---|
| 流量控制 | 支持 | 有限 | 支持 |
| 熔断降级 | 支持 | 支持 | 支持 |
| 实时监控 | Dashboard | 有限 | Prometheus |
| 动态规则 | 支持 | 有限 | 支持 |
| 集群流控 | 支持 | 不支持 | 不支持 |
| 社区活跃度 | 高 | 停止维护 | 高 |
适用场景¶
| 场景 | 说明 |
|---|---|
| API 网关 | 限流、熔断、降级 |
| 微服务 | 服务间调用保护 |
| 秒杀活动 | 流量控制、热点限流 |
| 系统保护 | 过载保护、自适应限流 |
小结¶
Sentinel 基础概念:
- 架构:应用层 → Dashboard → 规则存储
- 核心功能:流量控制、熔断降级、系统保护、热点限流
- 对比:功能全面,社区活跃
- 场景:API 网关、微服务、秒杀活动
下一章我们将学习核心概念。