我們目前正在研究構建我們的(網絡)應用程序的新方法,並且提到的一種方法是CQRS。我們對此仍有幾個問題:CQRS跟蹤用戶的變化
如果我理解正確的話這可能意味着具有2米或多個域的模型,一個核心域模型和webapp的一個讀模式。
此核心域模型不是直接由webapp寫入,而是由不同的服務寫入。 我們正在考慮使用NServiceBus來創建發佈者/處理程序,以便webapp可以發佈用戶所做的更改。然後用戶將處理該消息並更新核心域模型和讀取模型。
我們要實現什麼:
用戶A創建了10個新的對象,書的例子。
消息的用戶有很多信息的處理,因此需要一兩分鐘被更新的域模型前。
當用戶A刷新頁面時,他應該看到他剛剛創建的10本書。
當用戶B刷新頁面時,他並不一定要看到這些項目。
你在哪裏最好的商店,這些10個新對象?
將此數據與讀取模型中的「舊」數據合併的最佳方式是什麼?
比方說,用戶B也需要看到這些新項目,什麼是存儲這些數據的最佳方式呢?
什麼是最好的方式來處理由2個不同的用戶在同一時間添加同一本書? (其中所有數據都是相同的,除了這本書描述。它仍然是同一本書:)
有什麼辦法可以處理更新還未被寫入到核心領域模型這10個對象之一併因此沒有唯一的ID?
複雜的問題。你確定你有一個足夠複雜的域名嗎?您的所有問題都對CQRS有效,並已得到解答(開始時查找最終一致性)。 –