Event-Driven Architecture
Ereignisgesteuerte Architektur
In einer ereignisgesteuerten Architektur veröffentlicht eine Komponente eine Tatsache, nachdem sich etwas geändert hat. Andere Komponenten reagieren später nach klaren Regeln für die Lieferung und zukünftige Formatänderungen.
Ein weiteres Beispiel
Wenn das Abonnement 42 gekündigt wird, veröffentlicht Billing ein versioniertes `SubscriptionCanceled`-Ereignis mit Betreff, Zeit und Trace-ID. Access- und Analytics-Dienste reagieren eigenständig und entfernen beide doppelte Ereignis-IDs. Analytics kann das Protokoll später erneut abspielen. Ein fehlgeschrittener nächster Schritt verwendet Kompensation, anstatt den gesamten Ablauf als eine Transaktion zu behandeln.
Hauptteile
- 01Ereignisfakt und Schema
- 02Broker oder Ereignisprotokoll
- 03Unabhängige reagierende Verbraucher
Verwenden Sie es, wenn
Verwenden Sie Ereignisse für dauerhafte Fakten, die von mehreren unabhängigen Verbrauchern benötigt werden. Legen Sie fest, wer das Schema, die Reihenfolge, das Wiederholen und die Fehlerregeln besitzt.
Nutze es nicht, wenn
Verwenden Sie Events nicht, um eine Anforderungskette zu verbergen, deren Teile zusammenwirken müssen. Verkleiden Sie keinen vagen Befehl als eine Tatsache in der Vergangenheitsform.
In Code verwendeter Name
versioned event envelope + durable broker/log + idempotent consumers + trace context Vor dem Ausliefern
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Ereignisgesteuerte Architektur (Event-Driven Architecture). User context: Wenn das Abonnement 42 gekündigt wird, veröffentlicht Billing ein versioniertes `SubscriptionCanceled`-Ereignis mit Betreff, Zeit und Trace-ID. Access- und Analytics-Dienste reagieren eigenständig und entfernen beide doppelte Ereignis-IDs. Analytics kann das Protokoll später erneut abspielen. Ein fehlgeschrittener nächster Schritt verwendet Kompensation, anstatt den gesamten Ablauf als eine Transaktion zu behandeln. Technical concept or control: Ereignisgesteuerte Architektur (Event-Driven Architecture). Why it fits: Verwenden Sie Ereignisse für dauerhafte Fakten, die von mehreren unabhängigen Verbrauchern benötigt werden. Legen Sie fest, wer das Schema, die Reihenfolge, das Wiederholen und die Fehlerregeln besitzt. Do not use it when: Verwenden Sie Events nicht, um eine Anforderungskette zu verbergen, deren Teile zusammenwirken müssen. Verkleiden Sie keinen vagen Befehl als eine Tatsache in der Vergangenheitsform. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Kein einziger offizieller Standard kontrolliert den gesamten Begriff. Seine Bedeutung kann sich zwischen Teams, Plattformen oder Frameworks ändern. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Diese Anfrage prüfen
Review how Ereignisgesteuerte Architektur (Event-Driven Architecture) is used now. Definition: In einer ereignisgesteuerten Architektur veröffentlicht eine Komponente eine Tatsache, nachdem sich etwas geändert hat. Andere Komponenten reagieren später nach klaren Regeln für die Lieferung und zukünftige Formatänderungen. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.