幂等性设计——让操作“重复无忧“

📅 2026/7/2 13:17:03 👁️ 阅读次数 📝 编程学习
幂等性设计——让操作“重复无忧“

幂等性设计——让操作"重复无忧"

你有没有在银行转账时多按了一次确认?

生活场景:银行的"幂等"

你在银行转账

你给朋友转1000块:

  • 点击"确认转账"
  • 网络卡了
  • 页面没反应
  • 你又点了一次

结果:只转了1000块,不是2000块。

银行的系统做了幂等处理:同一个转账请求,重复提交只执行一次。

没有幂等的系统

你买了一件商品:

  • 点击"立即购买"
  • 网络卡了
  • 又点了一次

结果:下了两单,付了两次钱。

惨!

技术故事:幂等的必要性

为什么会重复请求?

用户点击按钮 │ ▼ 网络请求发出 │ ├─→ 服务器处理成功 │ ├─→ 网络超时,用户以为失败了 │ ├─→ 用户再次点击 │ └─→ 服务器又处理一次

常见场景:

  • 网络超时
  • 前端重复