Skip to content
Latchkey

idempotencyとは?

idempotencyは、操作を複数回実行しても1回実行したのと同じ効果になるという性質です。同じデプロイ、API呼び出し、インフラ変更を繰り返し適用しても、積み重なるのではなく同じ状態に収束します。これによりリトライ、再実行、クラッシュからの復旧が安全になります。

なぜ重要か

ネットワークは失敗するため、分散システムは絶えずリトライします。操作がidempotentでないと、リトライは二重課金、二重デプロイ、状態の破損を招きかねません。しばしば重複排除キーを用いてidempotencyを設計することが、retry-with-backoffやat-least-once配信を許容可能にします。

関連する概念

  • 安全なretry-with-backoffに必要である
  • 宣言的なインフラは設計上idempotentであることを目指す
  • idempotency keyは繰り返されるリクエストを重複排除する

関連ガイド