2010-08-01 14 views
5

Stiamo provando CQRS e DDD e sourcing di eventi. Diciamo che ho un aggiornamento del cliente un indirizzo email, che spara fuori evento CustomerUpdatesEmailAddress, questo passa attraverso il mio operativo (scrivere DB) e aggiorna le tabelle. Il nostro sistema è progettato in modo tale che esista un processo ETL che esegue i dati operativi e aggiorna il database (questo è un database di lettura). Considera che l'ETL può fare un po 'di sollievo basandosi sull'indirizzo email che viene modificato (l'indirizzo e-mail è solo un esempio), come possiamo sincronizzare il database di segnalazione (DataMart e il lato operativo) come l'utente desidera vedere immediatamente l'aggiornamento dell'indirizzo e-mail sullo schermo?CQRS, database di reporting di sincronizzazione DDD

risposta

13

In this podcast (diapositiva 47 per esempio) Udi Dahan indica che il client non deve attendere che il sito di lettura venga aggiornato. Il cliente può "fingere". Quindi, ad esempio, se un utente cambia il suo indirizzo e-mail, il client può prendere il nuovo indirizzo dal comando inviato e mostrarlo all'utente prima del il comando è stato effettivamente elaborato.

+1

+1 per questa risposta. È più importante porre la domanda "Perché l'utente ha bisogno di vedere l'indirizzo e-mail aggiornato immediatamente?". Se è per il feedback degli utenti, la risposta di Mikael dovrebbe farti guadagnare abbastanza tempo per eseguire il processo ETL. – stung

Problemi correlati