Prevádzka
Idempotencia
Zistíte, kedy je zopakovanie požiadavky bezpečné a kedy vytvorí novú operáciu.
Predpoklady
- Prehľad operácií, ktoré váš systém opakuje po timeoute.
Kedy je opakovanie bezpečné
| Operácia | Opakovanie | Prečo |
|---|---|---|
| Čítanie stavu (GET) | Bezpečné kedykoľvek. | Nemenia stav. |
| Odoslanie s Idempotency-Key | Bezpečné s rovnakým kľúčom a rovnakým telom. | Systém rozpozná opakovanie a nevytvorí druhý doklad. |
| Pozvánka na súhlas (POST) | Nie je bezpečné naslepo. | Vytvorí novú pozvánku a nový jednorazový odkaz. |
Ako pracovať s idempotency kľúčom
- Kľúč vytvorte pred prvým pokusom a pri opakovaní ho nemeniť.
- Kľúč zmeňte, až keď ide o novú, zámerne odlišnú operáciu.
- customerRef ani customerReference nie je idempotency kľúč.
Očakávaný výsledok
Opakovanie po timeoute nezdvojí doklad ani operáciu.
Keď to nefunguje
- Duplicitný doklad: kľúč alebo telo sa pri opakovaní zmenili.
- Konflikt pri opakovaní: použite pôvodný kľúč a pôvodné telo, alebo zistite stav operácie.