✨ Sentinel-熔断降级
This commit is contained in:
parent
f589e0751e
commit
1d1c788d1f
|
@ -669,6 +669,8 @@ public class GlobalExceptionHandler {
|
|||
|
||||
#### blockHandler vs fallback区别
|
||||
|
||||
有block先走block。
|
||||
|
||||
| 特性 | blockHandler | fallback |
|
||||
| -------- | ------------------------ | ------------------- |
|
||||
| 触发条件 | 流量控制/熔断时触发 | 业务异常时触发 |
|
||||
|
@ -784,3 +786,71 @@ graph TD
|
|||
- 需配置超时时间(毫秒)
|
||||
- 不支持QPS>1000的场景
|
||||
|
||||
## 熔断降级
|
||||
|
||||
1. **熔断恢复**:系统会在熔断时间结束后自动尝试恢复,进入半开状态
|
||||
2. **监控建议**:建议配合Dashboard监控熔断事件,设置合理的告警机制
|
||||
3. **阈值设置**:需要根据实际业务场景调整阈值,过高会导致保护不足,过低可能误熔断
|
||||
4. **降级策略**:应准备有意义的降级响应,如缓存数据、默认值或友好提示
|
||||
|
||||
熔断降级是分布式系统中重要的稳定性保障手段,主要功能包括:
|
||||
|
||||
- **切断不稳定调用**:自动识别并隔离故障服务
|
||||
- **快速返回不积压**:避免请求堆积导致资源耗尽
|
||||
- **避免雪崩效应**:防止故障在系统中级联扩散
|
||||
|
||||
### 典型场景
|
||||
|
||||
在分布式系统中,如果A服务调用G服务,G服务调用D服务,当D服务出现性能问题时,会导致整个调用链路响应变慢。通过熔断机制,G服务可以快速识别D服务的异常状态,直接返回预设的降级响应,避免无效等待和资源浪费。
|
||||
|
||||
### 断路器工作原理
|
||||
|
||||
1. **关闭状态**:初始状态,所有请求正常通过
|
||||
2. **熔断状态**:当触发熔断条件时,直接拒绝请求,快速失败
|
||||
3. **半开状态**:熔断时间结束后,尝试放行少量请求测试服务是否恢复
|
||||
- 成功则关闭熔断,恢复正常
|
||||
- 失败则继续保持熔断状态
|
||||
|
||||
### 最佳实践
|
||||
|
||||
熔断降级作为自身保护手段,通常在客户端(调用端)进行配置:
|
||||
|
||||
- 针对关键依赖服务配置熔断规则
|
||||
- 设置合理的熔断阈值和恢复时间
|
||||
- 配合降级逻辑提供有意义的fallback响应
|
||||
- 监控熔断事件,及时预警
|
||||
|
||||
### 实际示例
|
||||
|
||||
#### 慢调用比例
|
||||
|
||||
配置参数:
|
||||
|
||||
- **最大RT**:1000ms(超过此响应时间的请求视为慢调用)
|
||||
- **比例阈值**:0.8(当慢调用比例超过80%时触发熔断)
|
||||
- **熔断时长**:30s(触发熔断后持续30秒)
|
||||
- **最小请求数**:5(统计窗口内至少需要5个请求才进行熔断判断)
|
||||
- **统计时长**:5000ms(滑动窗口统计的时间长度为5秒)
|
||||
|
||||

|
||||
|
||||
#### 异常比例
|
||||
|
||||
配置参数:
|
||||
|
||||
- **比例阈值**:0.5(当异常比例超过50%时触发熔断)
|
||||
- **熔断时长**:10s
|
||||
- **最小请求数**:10
|
||||
- **统计时长**:10000ms
|
||||
|
||||
适用场景:适用于服务依赖不稳定,可能出现大量异常的情况。
|
||||
|
||||
#### 异常数
|
||||
|
||||
配置参数:
|
||||
|
||||
- **异常数阈值**:5(当异常数量达到5次时触发熔断)
|
||||
- **熔断时长**:60s
|
||||
- **统计时长**:60000ms
|
||||
|
||||
适用场景:适用于低流量但要求高可用的服务,可以快速响应偶发异常。
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 72 KiB |
Loading…
Reference in New Issue