Erlang-Lektion
Supervisor Thinking in Erlang erklaert
Supervisor Thinking ist der Punkt, an dem Lernende Abstuerze nicht mehr nur als Defekt sehen, sondern als Teil des Systemdesigns. In Erlang ist Robustheit strukturell organisiert. Das ist ein ganz anderes Denken als „niemals abstuerzen“.
Warum let it crash nicht heisst Fehler zu ignorieren
Der Satz „let it crash“ wird oft falsch verstanden. Er bedeutet nicht, dass ein System sorglos sein soll. Er bedeutet, dass ein Worker nicht jeden moeglichen Fehler intern verknoten muss. Oft ist es sicherer, schnell zu scheitern, sauberen Zustand wiederherzustellen und den Worker unter klaren Regeln neu zu starten.
Das funktioniert, weil Erlang-Systeme mit Supervisor-Baeumen entworfen werden. Fehlerbehandlung wird dadurch Architektur statt verstreute Sonderlogik.
Was ein Supervisor wirklich entscheidet
Ein Supervisor legt fest, welche Worker beobachtet werden und wie Neustarts passieren. Soll nur ein Worker neu starten oder die ganze Gruppe? Wie viele Fehler sind in einem Zeitfenster akzeptabel? Diese Entscheidungen praegen das Verhalten eines Systems lange vor der Produktion.
Anfaenger muessen nicht sofort jede Strategie beherrschen, aber sie muessen verstehen, dass Robustheit ein Baum von Verantwortlichkeiten ist. Genau darin liegt eine der staerksten OTP-Ideen.
{one_for_one, 5, 10}Wie du ueber saubere Wiederherstellung denkst
Ein Supervisor ist wertvoll, weil ein neu gestarteter Worker oft in einen bekannten sauberen Zustand zurueckkehrt, statt in einem korrupten Zustand weiterzulaufen. Darin liegt der eigentliche Nutzen. Es geht nicht darum, Abstuerze zu feiern, sondern darum, einen disziplinierten Wiederherstellungspfad zu haben.
Je sauberer deine Prozessgrenzen sind, desto besser wirkt Supervision. Klare Zustandsgrenzen und klare Nachrichtenprotokolle machen sichere Neustarts moeglich.
Typische Fehler beim Lernen von Fehlertoleranz
Viele versuchen, jeden Crash im selben Worker zu verhindern. Andere uebernehmen Supervisor-Spezifikationen, ohne zu verstehen, welche Restart-Strategie zur Abhaengigkeitsstruktur passt. Ausserdem wird oft unterschaetzt, wie viel sauberer Systeme werden, wenn Zustand so isoliert ist, dass Neustarts problemlos sind.
Ein praktischer Lernweg ist, einen Crash in Alltagssprache zu beschreiben und dann zu fragen: was sollte neu starten, was sollte weiterlaufen und warum? So wird ein abstraktes OTP-Thema zu echtem Design-Denken.
Was du danach ueben solltest
- one_for_one in Alltagssprache erklaeren.
- Einen Fall nennen, in dem ein einzelner Neustart besser ist als ein globaler.
- Eine Worker-Supervisor-Beziehung skizzieren.
- Danach mit Distributed Systems Basics weitermachen.
Hauefige Fragen
Was ist ein Supervisor in Erlang?
Ein Supervisor ueberwacht Worker oder Child-Prozesse und startet sie nach einer definierten Strategie neu.
Was bedeutet let it crash wirklich?
Dass manche Fehler sicherer ueber Supervision und sauberen Neustart behandelt werden als ueber verworrene lokale Fehlerlogik.