一言でいうと

「冪等性」とは、何度やっても同じ結果になる性質のことです。1回やっても100回やっても、結果は変わりません。

もう少し詳しく

冪等性を日常で例えるなら、電気のスイッチです。電気をつける操作を1回しようが10回しようが、つきっぱなしです。変わりません。

一方、これがない操作の例は音量ボタンです。音量上げボタンを1回押すと音が少し大きくなり、10回押すとさらに大きくなります。同じ操作でも回数で結果が変わってしまいます。

システムの修理(バグ直しなど)でサーバーに指示を送るとき、もし通信が不安定で同じ指示が2回3回送られることがあります。そんなときでも、冪等性がある設計なら問題が起きません。だから大事な性質なのです。

よく使われる場面

  • APIの設計:同じデータ削除の指示が何度送られても、1度だけ削除される
  • 決済システム:お金を支払う指示が重複しても、1回だけ引き落とされる
  • メッセージ配信:同じメッセージが複数回送られても、受信側には1回だけ表示される

関連する言葉

  • トランザクション:複数の処理をまとめて、すべて成功するか全部失敗するかを保証する仕組み
  • 分散システム:複数のコンピュータが協力して動く仕組み。通信エラーが起きやすいので冪等性が重要