冪等性(べきとうせい)
一度実行しても何度実行しても結果が同じになる性質。再試行が日常茶飯事の分散システムでは欠かせない。
HTTPではGET・PUT・DELETEが冪等で、POSTとPATCHは冪等ではない。Stripeなどの決済APIはIdempotency-Keyヘッダーに対応しており、再試行時に同じキーを送ればAPI側で重複が排除される。データベースのアップサート(INSERT … ON DUPLICATE KEY UPDATE)も冪等である。
注意点として、冪等性は純粋関数とは違う。副作用があってもよいが、それが一度しか起きないことが条件である。