三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

分布式存储 RPC 评审:超时、重试和幂等要连着看

分布式存储 RPC 评审:超时、重试和幂等要连着看

分布式存储 RPC 评审:超时、重试和幂等要连着看

RPC 代码评审最容易漏掉的,不是序列化语法,而是失败后的第二次调用。客户端超时不代表服务端没执行,盲目重试可能把一次写入变成两次。

先给操作分类

只读、幂等写和非幂等写使用不同重试策略。写请求携带稳定操作标识,服务端在持久化边界去重。超时预算从入口向下分配,下游不能拥有比上游更长的无约束等待。

资源限制进入接口设计

消息大小、并发流、连接池和队列都有上限。流式 RPC 还要处理对端停止读取、半关闭和取消。错误码区分可重试、状态冲突与永久失败,避免客户端自行猜测。

基准保留全链路信息

固定消息分布、并发、网络条件、存储配置和预热方式,同时记录排队、服务时间、错误及资源。平均值好看不能掩盖长尾和重试放大。

评审沿正常写、重复写、超时后重试和节点切换四条路径走一遍,很多隐藏风险会比在生产里更早出现。

← 返回列表