Hallo ich folgendes senario haben, die ich nicht verstehe, wie mit eventuellen Konsistenz erhalten:Domain Veranstaltungen und Versionierung ohne CQRS
- Benutzer 1 verwendet Name Kundenaufgabe basierend ui zu ändern
- App Dienst fordert Betrieb das Aggregat
- Aggregate Brände Ereignis auf Kundenname geändert
- Bus sendet Nachricht nservicebus
- nServicebus-Dienst stirbt
- Benutzer 2 erhält Aggregat und Anrufe Adresse ändern
- Aggregate Betrieb genannt
- Domain-Ereignis ausgelöst
- Nachricht auf dem Bus setzen
- Bus startet
- Nachricht 2 erste
- Nachricht 2 verarbeitet und andere Bounded abgeholt Kontext aktualisiert mit neuer Adresse
- Nachricht 1 abgeholt jetzt die falsche Reihenfolge
- Was passiert jetzt
In 13 würde es einen optimistischen Gleichzeitigkeitsfehler geben, wenn wir die Version des Aggregats im Ereignis weitergeben?
Wenn dies der Fall ist, wird Nachricht 1 new im anderen Kontext auf Objekt angewendet. Wie erhalten wir Konsistenz?
Dieses Problem verhindert, dass ich Ereignisse in meiner Domäne anwende. Alle helfen willkommen.
Die wesentliche Idee ist, ein anderes Aggregat in einem anderen Kontext zu aktualisieren. Ich bin nur auf die Nebenläufigkeit dieser Technik fest.
Wir verwenden kein Event Sourcing oder CQRS im Sinne von Commandhandler und Befehle drücken auf den Bus. Es ist nur die Ereignisverarbeitung, die wir asynchron durchführen möchten, da wir ein bestehendes Design haben, das wir nicht ändern wollen.
Blair
Ich bin mir nicht sicher, was du meinst. Ich schicke die Veranstaltung über Nservicebus, also gibt es keine Bestellung. Wenn ich eine Sequenznummer zu meinen Ereignissen hinzufüge, wie mache ich dann die Bestellung am anderen Ende? Was ich dort vermisse, muss etwas Offensichtliches sein, das ich nicht sehe. –
Auch bei NService-Bus mit mehreren Threads gibt es keine Garantie, dass sie in der Reihenfolge verarbeitet werden. –
Behalten Sie die Sequenznummer am anderen Ende im Auge. Verarbeiten Sie die Nachricht erst, wenn die Sequenznummer mit der zuletzt bearbeiteten Sequenznummer + 1 übereinstimmt. –