RisikoKapitel II · Verteilung · Baustein 1 von 6

Annahmen über Verteilung

Verteilte Systeme kommunizieren über Netzwerke mit Verzögerung, Ausfall und begrenzten Ressourcen. Architektur muss diese Eigenschaften als normale Betriebsbedingungen berücksichtigen.

  1. IrrtumStille Annahme über das Netz.
  2. FolgeWas das für den Aufruf bedeutet.
  3. EntwurfsreaktionKonkrete Entscheidung im Ablauf.

Einordnung

Warum das wichtig ist

Wer Aufrufe über Dienstgrenzen wie lokale Methodenaufrufe behandelt, verlässt sich still auf Annahmen, die im Netz nicht gelten. Die acht Irrtümer nach L Peter Deutsch machen diese Annahmen prüfbar. Timeout, Retry und Breaker vertiefen eigene Bausteine.

Dieser Baustein übersetzt Netzwerkannahmen in Entwurfsfragen. Timeout, Retry und Observability vertiefen konkrete Schutz- und Diagnosemechanismen.

Auf einen Blick · Stille Annahmen über das Netz

Eine stille Annahme trifft auf ein reales Netz, und die Folge verlangt eine bewusste Entwurfsreaktion.
Shop-Beispiel · Zuordnung

Die acht Irrtümer im Zahlungsablauf

Die Shop-Anwendung fragt einen externen Zahlungsanbieter ab. Das Team prüft, was Verzögerung, Trennung und variable Antwortzeiten für den Ablauf bedeuten.

So liest du das Bild

  1. Irrtum Die erste Spalte, etwa „Das Netz ist zuverlässig“.
  2. Folge Die Spalte „Folge für den Aufruf“ und der Fall im Shop daneben.
  3. Entwurfsreaktion Die letzte Spalte, etwa „Kennung behalten, Status abfragen“ bei ausbleibender Antwort.
Die acht Irrtümer im Zahlungsablauf
IrrtumFolge für den AufrufFall im ShopEntwurfsreaktion
Das Netz ist zuverlässigAntwort kann ausbleibenZahlung P-731 bleibt ohne AntwortKennung behalten, Status abfragen
Latenz ist nullAntwortzeit schwankt und kann lang seinZeitbudget 1.000 ms; Antwort kam erst bei 1.500 msZeitbudget festlegen, Klärung anzeigen
Bandbreite ist unendlichGroße Antworten stauen sichEin Aufruf liefert mehr Bestelldaten, als die Seite brauchtNur benötigte Felder abrufen
Das Netz ist sicherFremde können mitlesen oder eingreifenZahlungsdaten laufen zum externen AnbieterVerschlüsseln, Aufrufer prüfen
Die Topologie ändert sich nichtAdressen und Instanzen wechselnDer Anbieter zieht auf eine andere Adresse umNamen auflösen, Adressen nicht festschreiben
Es gibt genau einen AdministratorVerantwortung liegt bei mehreren ParteienShop-Team und Zahlungsanbieter ändern unabhängig voneinanderVerträge und Absprachen versionieren
Transportkosten sind nullJeder Aufruf kostet Zeit und RessourcenViele kleine Zahlungsabfragen je Bestellung addieren sichAufrufe bündeln, Gesamtpfad messen
Das Netz ist homogenGegenstellen verhalten sich verschiedenDer Anbieter nutzt andere Formate und Fehlercodes als der ShopVerträge prüfen, Fehler übersetzen
Lies jede Zeile von links nach rechts: Irrtum, Folge für den Aufruf, Fall im Shop, Entwurfsreaktion.

Nutzen & Grenzen

Hilft, wenn

  • Netzwerkkommunikation ergänzt variable Latenz und Teilfehler zu lokalen Funktionsabhängigkeiten.
  • Verkettete Remote-Aufrufe können Verzögerungen und Ausfälle über den Gesamtpfad weitergeben.
  • Daten- und Identitätsübergänge über Prozessgrenzen brauchen Serialisierung, Zugriffsschutz und Versionsregeln im Vertrag.

Grenzen

  • Die acht Irrtümer sind Denkanstöße, keine vollständige Checkliste; prüfe jeden Aufruf über eine Dienstgrenze einzeln.
  • Schutzmechanismen kosten selbst Zeit und Betrieb; Timeout und Retry brauchen abgestimmte Werte, sonst verschärfen sie die Lage.
  • Ob ein Irrtum im Betrieb wirkt, zeigen erst Messungen; Observability macht Latenz und Abbrüche sichtbar.

In der Praxis

  1. Zähle Netzwerk-Roundtrips im vollständigen Ablauf und bündele fachlich zusammengehörige Daten in gröbere Operationen. Miss Gesamtlatenz statt nur Einzelaufrufe.
  2. Definiere Fehlersemantik, Identität und Zeitbudget für jede Remote-Grenze. Ein abgebrochener Aufruf braucht ein unterscheidbares Ergebnis für den Aufrufer.
  3. Variiere Verzögerung, Verlust und Zielwechsel in Prüfungen. Timeout begrenzt Wartezeit; Backpressure schützt bei Rückstau.
Ausführliche Erklärung lesen

Netzwerkaufrufe haben variable Latenz, können ausfallen und übertragen versionierte Daten über eine Sicherheitsgrenze. Sie besitzen andere Fehler- und Kostenmerkmale als Aufrufe innerhalb desselben Prozesses.

Viele kleine Roundtrips vervielfachen Wartezeiten und mögliche Fehlerstellen. Gröbere fachliche Operationen, klare Fehlersemantik und messbare Zeitbudgets helfen, diese Eigenschaften in der Architektur zu berücksichtigen.

Timeout begrenzt Wartezeit, Backpressure begrenzt angebotene Last; gemeinsam machen sie aus Netzwerkannahmen konkrete Zeit- und Kapazitätsbudgets.

Die acht Irrtümer gehen auf L Peter Deutsch und Kollegen bei Sun Microsystems zurück.

Selbst prüfen

Teste dich in drei Stufen

  1. AblesenIm Bild nachsehen

    Welche Entwurfsreaktion gehört zum Irrtum „Das Netz ist zuverlässig“?

    Lösung mit Begründung ansehen

    Die Kennung behalten und den Status abfragen, denn die Antwort zur Zahlung P-731 kann ausbleiben.

  2. AnwendenAuf eine neue Lage übertragen

    Der Zahlungsanbieter zieht auf eine neue Adresse um, und der Shop erreicht ihn nicht mehr. Welcher Irrtum steckt dahinter, und was hilft?

    Lösung mit Begründung ansehen

    „Die Topologie ändert sich nicht“. Der Shop löst den Anbieter über einen Namen auf, statt die Adresse festzuschreiben.

  3. BewertenEine Alternative abwägen

    Das Team setzt das Zeitbudget für Zahlungsaufrufe sehr großzügig, damit Latenzschwankungen nie auffallen. Was spricht dafür, was dagegen?

    Lösung mit Begründung ansehen

    Dafür: Weniger Aufrufe brechen vorzeitig ab. Dagegen: Der Aufrufer wartet lange, und der Shop kann die ausstehende Klärung erst spät anzeigen. Ein festes Zeitbudget mit Klärungszustand bleibt steuerbarer.

Weiter im Lernpfad

Als Nächstes in Verteilte Systeme: Partielle Ausfälle.