Reliability Engineering MOC
后端可靠性知识地图,从 timeout、retry/backoff 和 idempotency 开始,进入 circuit breaker、bulkhead、rate limit、backpressure、health check、graceful shutdown 与降级恢复。
#moc
#growing
#backend
#reliability
[!info] related notes
Reliability Engineering MOC
知识总览
filters:
and:
- 'file.ext == "md"'
- 'file.inFolder("z")'
- 'this.file.links.contains(file)'
- 'file.path != this.file.path'
formulas:
knowledge: 'file.asLink(title)'
properties:
formula.knowledge:
displayName: 知识
note.description:
displayName: Description
note.mastery:
displayName: Mastery
views:
- type: table
name: 知识总览
order:
- formula.knowledge
- note.description
- note.mastery
columnSize:
formula.knowledge: 280
note.description: 760
note.mastery: 56
[!abstract] 核心目标 可靠性工程不是让系统“永不失败”,而是限制故障等待时间、传播范围和用户影响,并让系统能够检测、降级、恢复和验证。
一条故障控制链
Deadline / Timeout
→ Cancellation
→ Error Classification
→ Retry + Backoff + Jitter + Budget
→ Idempotency
→ Circuit Breaker / Bulkhead / Rate Limit / Backpressure
→ Fallback / Escalation
→ Health Check / Graceful Shutdown / Recovery
→ Observe and verify
推荐阅读顺序
- Timeout Control:远程等待必须有边界。
- Cancellation:超时后真正停止下游工作。
- Retry Policy:只重试可恢复错误。
- Exponential Backoff:拉开重试并加入 jitter。
- 接口幂等设计:让重复执行不产生重复副作用。
- Circuit Breaker:持续故障时快速失败。
- Bulkhead Isolation:限制资源和故障域。
- Rate Limit、Backpressure:控制进入量与在途量。
- Fallback Strategy:在明确质量边界下提供降级。
- Health Check、Graceful Shutdown。
- 云原生弹性设计:把模式组合成系统。
模式职责表
| 模式 | 解决的问题 | 不能替代 |
|---|---|---|
| Timeout | 等待无上限 | Cancellation、Retry |
| Retry | 瞬时失败 | 幂等、容量保护 |
| Backoff / Jitter | 重试风暴 | Error Classification |
| Circuit Breaker | 持续依赖故障 | 隔离资源池 |
| Bulkhead | 单依赖耗尽全部资源 | 修复下游故障 |
| Rate Limit | 限制进入系统的负载 | Consumer Backpressure |
| Backpressure | 下游处理不过来 | 全局配额治理 |
| Fallback | 保留部分产品能力 | 隐藏质量退化 |
| Health Check | 判断实例是否应接流量 | 业务正确性验证 |
| Graceful Shutdown | 有序停止和排空 | 永久等待卡住请求 |
设计原则
- 所有远程调用都继承总 deadline,而不是每层重新给完整 timeout。
- Retry 需要错误分类、次数/时间预算、backoff、jitter 和幂等。
- 多层都重试会形成 retry amplification;明确由哪一层负责。
- Fallback 必须满足最低 capability contract,并显式标记质量降级。
- Readiness、Liveness 和业务健康不是同一个信号。
- 可靠性策略必须通过 metrics、trace、chaos/failure test 或回放验证。
Agent 场景映射
LLM timeout / 429 → retry budget / provider fallback
Tool side effect → idempotency / approval / audit
Run concurrency → quota / queue / backpressure
Checkpoint failure → fail closed / recovery policy
Evidence insufficient → abstain / ask user / escalate
Streaming disconnect → event replay / resume token / clear failure
掌握标准
- 能为一个请求分配端到端 deadline 和分层预算。
- 能区分 transient、permanent、semantic 和 authorization failure。
- 能推演多层 Retry 如何放大流量。
- 能解释 Circuit Breaker、Bulkhead、Rate Limit 和 Backpressure 的边界。
- 能设计 graceful shutdown 的停止接流量、排空和超时强退。