[閒聊] 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