| 适用 | 读操作、需要即时结果的交互、低延迟链路 |
|---|---|
| 同步开销 | 调用链路过长时延迟叠加,故障向上传播 |
| 配套手段 | 超时、重试退避、熔断、降级 |
- 超时:按下游 P99 附余量设定,外层大于内层之和
- 重试:仅限幂等操作,指数退避加随机抖动,限制次数
- 熔断:错误率超阈值快速失败,保护线程与连接资源
- 降级:预置默认值或返回缓存旧值,维持核心路径可用
- 隔离:按下游拆分线程池或信号量,避免连锁阻塞
| 超时分解示例 | 入口 1000ms → 服务 A 800ms → 服务 B 500ms,逐级留出处理与网络余量 |
|---|---|
| 跳数控制 | 同步链路跳数越多,延迟叠加与故障放大越明显;长耗时动作优先异步化 |
| 适用取舍 | 读多写少且需即时反馈的场景优先同步;批量与广播场景考虑发布订阅 |
同步链路每增加一跳都会放大整体延迟与失败概率,关键链路应控制跳数。