[闲聊] 2019-M03 关于 Idempotent 两三事

楼主: CMJ0121 (请多指教!!)   2019-11-14 10:26:38
2019-M03 关于 Idempotent 两三事
早上朋友丢了问我关于解决 idempotent 的问题 原因在于他那边最近常常发现
存钱的 POST API 在 Server 端常常收到两次的 Bug
这类型的问题常常发生在 Mobile + API 自动 retry
因为 Mobile 的特性 : 使用 WiFi 会因为移动导致断线、自动重新连线
导致第一个 POST API 没有收到正常的回传值 而自动 retry
因此在很多 POST 等相关 API 都会加上 IDEMPOTENT 参数来避免重送攻击
概念上很简单:在 POST 的时候 Client 会带上一个 IDEMPOTENT
如果 Server 端收到来自同一个 IDENPOTENT 的请求 第二次之后的操作视为 NOP
如果来自不同使用者 但 IDENPOTENT 相同的情况 则回传 collision 错误
因此找到一个不会碰撞的 IDENPOTENT 的产生方式就极为重要

Links booklink

Contact Us: admin [ a t ] ucptt.com