6

Der CRUD-basierte Teil unserer Anwendungsanforderungen:Offline-Synchronisierung und Ereignis Sourcing

  1. offline bidirektionale "two-way" Syncing
  2. Fähigkeit, Daten zu ändern, bis sie bereit und dann "veröffentlichen".
  3. Audit-Log

Ereignis-Sourcing (oder das „Befehlsmuster“) ist das, was ich hinaus suchen diese Elemente zu erreichen. Ich fühle mich wohl mit der Lösung 2 & 3 mit diesem, aber nicht klar für das erste Element, Synchronisierung.

Wenn Zeitstempel für jeden Befehl verwendet werden (falls erforderlich), müssen die Offline-Befehle auf das Master-System angewendet werden, wie sie es in Echtzeit gewesen wären (zusammengewachsen), oder kann ich sie nur als angewendet betrachten das Ende eines Befehls (mit einem neueren Zeitstempel)?

Jede grundlegende Algorithmusbeschreibung für die befehlsbasierte Synchronisierung wäre hilfreich.

+0

Nützliche Artikel für mich sind http://touchlabblog.tumblr.com/post/33710233787/offline-sync-queue-aka-superbus und https://docs.google.com/file/d/0B_BG7hBPKUxaeVFTSUI4Ylp3VjQ/edit – Joel

Antwort

9

Sie wollen, was eine Bewertung Greg Young über CQRS and Occasionally Connected Systems

Befehle auf dem System der Aufzeichnung ausgeführt werden müssen, um zu sagen hat, an dem sie empfangen werden. So kann Ihr Offline-Client mit seiner lokal zwischengespeicherten veralteten Kopie des Datensatzes arbeiten und Befehle in die Warteschlange stellen. Wenn die Verbindung wieder hergestellt wird, aktualisiert der Client seine Kopie des Systems des Datensatzes, gleicht seine in der Warteschlange befindlichen Befehle mit dem neuen Zustand der Welt ab und sendet dann die neuen Befehle an das System der Aufzeichnung.

Gregs Vortrag skizziert, wie die Befehlsabstimmung funktioniert (im Prinzip, indem man sich die Ereignisse ansieht, die die provisorischen Befehle generieren, und nach Konflikten mit den vom System der Aufzeichnung aufgezeichneten Ereignissen sucht). Das Gespräch impliziert, dass Domänenexperten möchten, dass Ereigniskonflikte auf spezifische Weise gelöst werden.

+0

Das suche ich dank dir @VoiceOfUnreason –

Verwandte Themen