超时与重试分布式调用的时间预算

网络抖动 连接超时 503这些是暂时性错误 重试有意义

剑飞
1/14超时与重试 分布式调用的时间预算

一次跨服务调用失败了

大多数人的第一反应是"重试一下"

命题先说清本页判断
解释补足为什么
行动留下下一步
2/14超时与重试 分布式调用的时间预算

这两秒就是总预算

用户愿意等两秒 这两秒就是总预算链路上每一跳都在花这笔钱
3/14超时与重试 分布式调用的时间预算

常见的失败模式是

01命题

先说清本页判断

02解释

补足为什么

03行动

留下下一步

把“常见的失败模式是”落到一个具体项目里看结果
4/14超时与重试 分布式调用的时间预算

超时应该逐层递减

命题先说清本页判断
解释补足为什么
行动留下下一步
把“超时应该逐层递减”落到一个具体项目里看结果
5/14超时与重试 分布式调用的时间预算

这个操作重试安全吗

重试之前要先回答两个问题这个操作重试安全吗

把“这个操作重试安全吗”落到一个具体项目里看结果
6/14超时与重试 分布式调用的时间预算

查询可以随便重试

第一个问题关于幂等

命题先说清本页判断
解释补足为什么
行动留下下一步
7/14超时与重试 分布式调用的时间预算

第二个问题关于错误分类

重试逻辑必须建立在错误分类之上对确定性错误立即放弃
8/14超时与重试 分布式调用的时间预算

一千个客户端的请求同时失败

01命题

先说清本页判断

02解释

补足为什么

03行动

留下下一步

把“一千个客户端的请求”落到一个具体项目里看结果
9/14超时与重试 分布式调用的时间预算

标准解法是指数退避加随机抖动

01命题

先说清本页判断

02解释

补足为什么

03行动

留下下一步

把“标准解法是指数退避”落到一个具体项目里看结果
10/14超时与重试 分布式调用的时间预算

比如不超过10%

另一个必须设的是重试预算限制单位时间内重试请求占总请求的比例 比如不超过10%
11/14超时与重试 分布式调用的时间预算

如果每层都配置三次重试

01命题

先说清本页判断

02解释

补足为什么

03行动

留下下一步

把“如果每层都配置三次”落到一个具体项目里看结果
12/14超时与重试 分布式调用的时间预算

带走四步

找项目

从真实任务开始

出材料

把想法变成可处理内容

做交付

用结果判断能力

可复用

把完成沉淀为流程

13/14超时与重试 分布式调用的时间预算

让能力长出来

网络抖动 连接超时 503这些是暂时性错误 重试有意义

返回原文
上一篇没有更多文章下一篇没有更多文章