Event Flow verständlich gelesen
Ein Event ist mit einem eingeschriebenen Brief vergleichbar: Der Producer schreibt eine Nachricht, Kafka ordnet sie einem Topic und einer Partition zu, und Consumer lesen sie in ihrer eigenen Geschwindigkeit. Offsets markieren, bis wohin ein Consumer gekommen ist.
Alltagstaugliche Ablaufbeschreibung
Dieser Abschnitt beschreibt den Ablauf ohne unnötige Fachsprache. Er dient als Brücke zwischen dem sichtbaren Ergebnis und der technischen Umsetzung.
- Producer erstellt Event
- Schema wird geprüft
- Broker speichert Event
- Partition bestimmt Reihenfolge
- Consumer Group verteilt Arbeit
- Consumer bestätigt Offset
- Telemetrie misst Lag und Fehler.
Fachlicher Ablauf
Ein fachliches Ereignis informiert andere Bereiche darüber, dass sich etwas Relevantes geändert hat. Der sendende Bereich bleibt verantwortlich für seine Aussage; empfangende Bereiche entscheiden selbst, wie sie darauf reagieren.
- Fachliches Ziel: Der Ablauf liefert ein fachlich eindeutiges und für Benutzer beziehungsweise Betrieb nachvollziehbares Ergebnis.
- Verantwortung: Jeder beteiligte Bereich entscheidet nur innerhalb seiner eigenen fachlichen Zuständigkeit.
- Sichtbares Ergebnis: Order, Inventory, Payment und Notification können unabhängig reagieren, ohne eng gekoppelte synchrone Aufrufketten.
Technischer Ablauf
Der Producer schreibt ein Event in ein Topic. Partitionierung bestimmt Reihenfolge und Parallelität, Consumer Groups verteilen Arbeit, Offsets dokumentieren den Verarbeitungsstand. Retry, Idempotenz und Dead Letter Queue schützen vor Doppelwirkung und dauerhaft fehlerhaften Nachrichten.
- Daten und Schnittstellen: Daten werden an jeder Grenze validiert und nur über definierte APIs, Ports oder Events weitergegeben.
- Fehlerbehandlung: Fehler werden dort behandelt, wo ausreichender Kontext und Verantwortung vorhanden sind; Wiederholungen müssen sicher und nachvollziehbar bleiben.
- Technischer Nachweis: Geprüft werden Producer-Erfolg, Topic/Partition, Consumer Lag, Offset-Fortschritt, Retry-Zahl und DLQ-Einträge.
Zusammenspiel: Der fachliche Ablauf erklärt, warum etwas geschieht und welches Ergebnis zählt. Der technische Ablauf erklärt, wie dieses Ergebnis zuverlässig, sicher und beobachtbar umgesetzt wird.
Platform01
Kubernetes oder einfachere Runtime?
Kubernetes lohnt sich bei vielen Services, standardisiertem Betrieb, hoher Änderungsrate und eigener Plattformkompetenz. Für kleine Systeme ist eine einfachere Runtime oft wirtschaftlicher.
Empfehlung: Kubernetes
Entscheidung öffnenIntegration02
Kafka, Queue oder synchrones REST?
Kafka eignet sich für langlebige Event Streams, Replay und viele unabhängige Konsumenten. Für direkte Antworten oder einfache Arbeitsverteilung sind REST beziehungsweise Queue häufig klarer.
Empfehlung: Kafka
Entscheidung öffnenData03
PostgreSQL, NoSQL oder Event Store?
PostgreSQL ist der Standard, wenn Konsistenz, Beziehungen und flexible Abfragen wichtig sind. NoSQL oder Event Store sind Spezialentscheidungen, keine automatischen Modernisierungen.
Empfehlung: PostgreSQL
Entscheidung öffnenDelivery04
GitOps oder direktes Deployment?
GitOps verbessert Nachvollziehbarkeit und Drift-Erkennung. Direktdeployment ist einfacher, wenn Team, Plattform und Änderungsvolumen klein sind.
Empfehlung: GitOps
Entscheidung öffnenPlatform05
Helm oder Kustomize?
Helm ist stark bei wiederverwendbaren Paketen und parametrisierten Releases. Kustomize bleibt näher am Kubernetes-YAML und ist oft leichter prüfbar.
Empfehlung: Helm
Entscheidung öffnenOperations06
Managed Service oder Eigenbetrieb?
Managed Services reduzieren Routinebetrieb, schaffen aber Kosten, Abhängigkeiten und Plattformgrenzen. Eigenbetrieb lohnt sich nur mit klarer Kompetenz, Skalierung oder regulatorischem Grund.
Empfehlung: Managed Service
Entscheidung öffnenSecurity07
OAuth2/OIDC zentral oder lokale Sessions?
OIDC zentralisiert Login und Vertrauensregeln. Lokale Sessions können bei kleinen, abgeschlossenen Anwendungen einfacher und risikoärmer sein.
Empfehlung: Zentraler Identity Provider
Entscheidung öffnenArchitecture08
Synchron oder asynchron kommunizieren?
Synchron ist verständlich und unmittelbar, asynchron entkoppelt Zeit und Verfügbarkeit. Enterprise-Systeme benötigen meist eine bewusst begrenzte Kombination.
Empfehlung: Gemischtes Modell
Entscheidung öffnenArchitecture09
Modularer Monolith oder Microservices?
Ein modularer Monolith minimiert verteilte Komplexität. Microservices sind sinnvoll, wenn unabhängige Skalierung, Teamschnitt oder Release-Autonomie den Aufwand rechtfertigen.
Empfehlung: Modularer Monolith
Entscheidung öffnenReliability10
Retry, Circuit Breaker oder Queue?
Retries helfen nur bei vorübergehenden Fehlern. Circuit Breaker begrenzt Schaden; Queue entkoppelt zeitlich. Die Fehlerklasse entscheidet.
Empfehlung: Policy je Fehlerklasse
Entscheidung öffnenObservability11
Wie viel Observability ist sinnvoll?
Metriken, Logs und Traces sollten von Benutzerwirkung und Diagnosebedarf ausgehen. Vollständige Telemetrie überall erzeugt Kosten und Rauschen.
Empfehlung: Service-Level-Telemetrie
Entscheidung öffnenRecovery12
Wie werden RPO und RTO gewählt?
RPO und RTO müssen aus Geschäftsschaden und Wiederanlaufkosten abgeleitet werden. Null Datenverlust und Sofort-Recovery sind selten wirtschaftlich.
Empfehlung: Business-basierte Ziele
Entscheidung öffnen