2010-08-05 3 views
0

Ma question concerne les services d'événements consommateurs qui s'abonnent à l'événement publié par les commandes dans CQRS.CQRS - Service consommateur d'événements

Disons que j'ai un service de génération de documents qui va générer des documents en fonction de certains événements, le service de génération de document charge-t-il les données du domaine via une racine agrégée? Si tel est le cas, le service de génération de documents ne chargerait-il pas les données qui pourraient avoir été mises à jour ultérieurement de l'événement reçu par le service de génération? Comment arrêteriez-vous cela?

Je suppose que je suppose que l'événement passera seulement les informations reçues par la commande DTO et que transmettre les données du modèle de domaine entier à l'événement est très mauvais.

Répondre

2

Vous devriez vraiment construire votre modèle de lecture de vos événements, à moins que vous considérez comme vos documents une partie du domaine (et vous auriez une commande CreateDocumentX)

+0

Même dans ce cas, vous devez construire votre modèle de lecture de votre événements et stocker des références aux documents dans les événements. Peut-être même stocker les docs eux-mêmes dans le magasin d'événements, comme des blobs compressés. –

+0

"Peut-être même stocker les docs eux-mêmes dans le magasin d'événements, comme des blobs compressés." Tu peux répéter s'il te plait???? C'est tout simplement faux. Stockez l'événement dans le magasin d'événements qui doit contenir un identifiant unique (nom de fichier) et le stocker dans le système de fichiers. La base de données ne doit contenir que des métadonnées et non des blobs. – Marco

Questions connexes