Ereignisgesteuerte Architektur und Kopplung: Sie sind nicht so entkoppelt, wie Sie denken
- von Derek Comartin
- Veröffentlicht bei Derek Comartin (CodeOpinion)
- Aufgenommen am
- Uncategorized
Sie haben also Ihren Monolithen aufgespalten. Sie haben einen Message Broker eingeführt. Sie verwenden eine ereignisgesteuerte Architektur. Ereignisse tauchen überall auf.
Die Verbindung ist jetzt entkoppelt, richtig?
Aber irgendwie fühlt sich nichts besser an, weil Ihr System immer noch sehr instabil ist.
YouTube
Schaut euch meinen YouTube-Kanal an, wo ich alle möglichen Inhalte zum Thema Softwarearchitektur und -design veröffentliche, einschließlich dieses Videos, das alles aus diesem Beitrag zeigt.
CRUD-Ereignisse
Das Problem könnten die von Ihnen veröffentlichten Ereignisse sein:
ShipmentStatusChangedShipmentAddressUpdatedEstimatedDeliveryDateChangedCarrierIdUpdated
Alle anderen Dienste abonnieren diese Ereignisse und führen eine eigene lokale Kopie der Sendungsdaten.
Sie denken vielleicht, Sie entkoppeln Ihr System, indem Sie Ereignisse an verschiedene Empfänger veröffentlichen, aber das ist nicht der Fall. Sie haben lediglich damit begonnen, Daten überall zu replizieren.
Was bedeutet „Sendungsstatus geändert“ genau?
Angenommen, wir führen einen neuen Sendungsstatus ein…