Skip to content
阅读进度

超时、重试、缓存与幂等怎么一起设计? ​

返回 网络与设备通信 目录

标准回答 ​

超时是调用方停止等待;重试是再次尝试;幂等保证重复请求不会产生额外业务副作用;缓存复用可接受的新鲜度范围内的结果。

关键机制 ​

  • 设置每次调用与总体预算;可恢复错误才重试,采用退避与抖动,并限制次数。不要对永久参数错误持续重试。
  • 写操作可能已成功但回包丢失,需业务幂等键或查询结果;HTTP 方法语义本身不能替代完整业务设计。
  • 缓存要定义键、过期、失效和用户隔离;区分 HTTP Cache-Control / ETag 与应用自定义缓存。

通俗例子 ​

“开启设备”请求超时,盲目重试相对容易做到幂等;“增加一次计费”必须带业务唯一键并由服务端去重。

易混淆点 ​

取消客户端请求不保证服务端撤销已执行操作;界面需要根据最终可确认状态呈现结果。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。