Skip to content
Latchkey

Idempotency Key ハンドリングとは?

idempotency key ハンドリングとは、リクエストとともに送られた一意なキーを記録し、同じキーが再び届いたら元の結果を返すサーバー側のロジックです。これにより、決済や job の投入といった操作を、その効果を重複させずに安全に retry できます。サーバーは retry を重複排除するため、保持ウィンドウの間、キーとその結果を保存します。

なぜ重要か

ネットワークはレスポンスを取りこぼすためクライアントは retry しますが、重複排除がなければ retry によってカードへの二重課金やレコードの二重作成が起こり得ます。リクエストにキーを付けることで、サーバーが単一の効果を保証する一方、クライアントは自由に retry できます。

関連ガイド