Idempotenz
Kurz: Eine Operation ist idempotent, wenn man sie mehrfach ausführen kann und das Ergebnis dasselbe bleibt wie nach dem ersten Mal.
Genauer: „Setze die Lampe auf an” ist idempotent, „schalte die Lampe um” nicht. In HTTP sind GET, PUT und DELETE idempotent, POST in der Regel nicht. Idempotenz macht Wiederholungen bei Netzwerkfehlern sicher.
Im Detail
- Idempotenz-Schlüssel: Der Client schickt eine eindeutige ID mit. Der Server erkennt eine Wiederholung und gibt das alte Ergebnis zurück. Zahlungsanbieter wie Stripe nutzen das.
- Beispiel Bestellung: Doppelklick auf „Kaufen” darf keine zwei Bestellungen auslösen.
- Datenbank: „Insert if not exists” und eindeutige Schlüssel helfen.
- Webhooks und Queues: Nachrichten können doppelt ankommen.
Siehe auch: Message Queue (Nachrichtenwarteschlange), Webhooks