Ich arbeite an einem CQRS/Event-Store-System. Im Moment ist das Muster, das ich verwende, für Befehle, um synchron zu sein. Das heißt, die Benutzerschnittstelle zeigt keine Operation als abgeschlossen an, bis der Befehl abgeschlossen ist, und der Erfolg/Fehler wird dem Benutzer angezeigt. Während der Ausführung der Befehle werden alle erzeugten Ereignisse (z. B. die Aktion X, die auf dem Gesamt-Wurzelverzeichnis Y aufgetreten ist) in einem dauerhaften Speicher gespeichert.Welche Vorteile bietet das Speichern von Befehlen in einem CQRS/ES-System?
Alle Beschreibungen von CQRS, die ich gelesen habe, implementieren Befehlsspeicher. Ich frage mich, ob dies in meiner Situation notwendig ist.
Eine andere Anmerkung - es gibt eine Menge lang andauernder Befehlstyp-Aktionen, daher habe ich Operationen in einen Befehl aufgeteilt, der Ereignisse generiert, und die Ereignisse wiederum geben mehr Befehle aus. Die Befehle sind idempotent, basierend auf dem Status des aggregierten Root. Ich weiß nicht, wie sich das auf die Antwort auswirkt, aber es lohnt sich, darauf hinzuweisen.
Danke, Erick
Konnte einige Beispiele der Implementierung zur Verfügung stellen, die Befehle speichern? Die meisten Beispiele, die ich gesehen habe, speichern nur die Ereignisse, die als Ergebnis der Befehle erzeugt wurden. –
Ich habe keine Frameworks, aber CQRS ohne Event Sourcing Records Befehle für die Wiedergabe, zumindest von meinem Verständnis. –
Ich bin etwas besorgt über die Sicherheit. Was beabsichtigen Sie mit Befehlen wie ChangeUserPassword, das ein Klartextkennwort enthält? – Kimble