Posts

Showing posts from July, 2024

《Implement Idempotency With API Gateway Plugin》 Gopher Day 2024 — Gaston Chiu

Image
不知道身為後端的你,在寫與交易有關的 API 時,有沒有遇過類似狀況: 用戶在用自家 app 買東西時,client 請求下單扣款而 server 已經完成扣款,但 response 可能因封包丟失或網路斷線等等原因,讓 client 以為 request failed,重送 request (retry 機制),導致重複扣款。 上述情境可以發現三個問題 有些 API 有非冪等性的特性,因此要注意 網路是不可靠的,訊息可能丟失 Retry 是危險的 現在我們要來看看,如何解決 server/client behavior 不一致,導致的重複操作。