Zurück zur Übersicht

Begriff

Idempotency

Computer Science API Design S3
2 Quellen 0 Lernpfade 1 Backlink enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Ein kompliziertes Wort für ein einfaches Konzept. Idempotenz bedeutet: Es ist egal, wie oft du den Knopf drückst, das Ergebnis ist das gleiche wie beim ersten Mal. Beispiel Fahrstuhlknopf: Egal ob du 1x oder 20x drückst, der Fahrstuhl kommt einfach nur. Er kommt nicht "20x schneller" oder "20 Fahrstühle". Das ist idempotent. Gegenbeispiel Online-Shopping "Kaufen": Wenn du 2x klickst (weil Internet langsam ist), kaufst du 2 Toaster? Das wäre nicht idempotent (und sehr schlecht). In der IT müssen wir Systeme so bauen, dass sie Wiederholungen (Retries) verkraften, ohne Chaos anzurichten.

Merksatz: Die Eigenschaft einer Operation, bei mehrfacher Ausführung dasselbe Ergebnis zu liefern wie bei einer einzigen Ausführung, ohne zusätzliche Seiteneffekte zu erzeugen.


Quick-Check

  1. Warum Ansible?
    Ansible liebt Idempotenz. Ein Playbook ("Installiere Nginx") kann ich 100x aufrufen. Beim 1. Mal installiert es. Beim 2. bis 100. Mal sagt es "OK (Changed=0)". Normale Bash-Skripte (apt install) sind oft nicht idempotent und werfen Fehler.
  2. Ist x = x + 1 idempotent?
    Nein! 1x ausgeführt: x=2. 2x ausgeführt: x=3. Ergebnis ändert sich. x = 5 ist idempotent. Egal wie oft, x bleibt 5.
  3. Retries ohne Idempotenz?
    Tödlich. "Network Timeout" heißt nicht "nicht passiert". Es heißt "Vielleicht passiert, vielleicht nicht". Ohne Idempotenz kannst du keinen automatischen Retry machen, weil du riskierst, Daten zu korrumpieren.