2010-08-05 49 views
0

我的問題是關於訂閱由CQRS中的命令發佈的事件的消費事件服務。CQRS - 消費事件服務

假設我有一個文檔生成服務,它將根據某些事件生成一些文檔,文檔生成服務是否通過聚合根從該域加載數據?如果是這樣,那麼文件生成服務負載數據可能已經被事件後續更新,該數據被生成服務接收到了嗎?你會如何阻止這種事情發生?

我想我假設事件只會傳遞命令DTO收到的信息,並將整個域模型數據傳遞給事件感覺非常錯誤。

回答

2

你真的應該從你的活動建立自己的閱讀模式,除非你認爲你的文檔中的域的一部分(和你將有一個CreateDocumentX命令)

+0

即使在這種情況下,你應該從建立你讀型號搜索事件,並在事件中存儲對文檔的引用。可能甚至將文檔本身存儲在事件存儲中,作爲壓縮的斑點。 – 2011-03-21 12:07:49

+0

「甚至可能將文檔本身存儲在事件存儲中,作爲壓縮的斑點。」說什麼????這顯然是錯誤的。將事件存儲在應包含唯一標識符(文件名)的事件存儲中,並將其存儲在文件系統中。數據庫應該只包含元數據,而不是blob。 – Marco 2014-03-28 10:46:26