Sto lavorando su un sistema CQRS/event store. Al momento, il pattern che utilizzo è che i comandi siano sincroni. Cioè, l'interfaccia utente non mostra un'operazione come completata fino a quando il comando non è completo, e il successo/fallimento è mostrato all'utente. Durante l'esecuzione dei comandi, tutti gli eventi generati (ad es., L'azione X si è verificata sulla radice aggregata Y) sono archiviati in una memoria duratura.Quali sono i vantaggi dell'archiviazione dei comandi in un sistema CQRS/ES?
Tutte le descrizioni di CQRS di cui ho letto la memoria di comando dell'attrezzo. Mi chiedo se questo è necessario nella mia situazione.
Un'altra nota: ci sono molte azioni di tipo comando a lungo termine, quindi ho suddiviso le operazioni in un comando che genera eventi e gli eventi a loro volta emettono più comandi. I comandi sono idempotenti, in base allo stato della radice aggregata. Non so come questo potrebbe avere un impatto sulla risposta, ma vale la pena segnalarlo.
Grazie, Erick
Potrebbe fornire alcuni esempi di implementazione che memorizzano i comandi? La maggior parte degli esempi che ho visto memorizza solo gli eventi prodotti come risultato dei comandi. –
Non ho alcun framework, ma CQRS senza l'event sourcing dei comandi dei record per la riproduzione, almeno dalla mia comprensione. –
Sono un po 'preoccupato per la sicurezza. Che cosa hai intenzione di fare con comandi come ChangeUserPassword che contiene una password in chiaro? – Kimble