[英]Confirm MessageBox with EventSourcing?
在CQRS中,事件源是我們唯一的真實信息來源,永遠不要相信您所讀取的數據模型,那么如果我需要顯示一個確認消息框,例如顯示“用戶X的最近10個動作”,那么我應該使用哪種方法?
1-發送命令查詢聚合中的最后10個操作,然后聚合發布我在UI中處理的10個事件,其中包含用戶的操作?
2-還是簡單地查詢我的Read模型?
在我的情況下,CQRS怎么說?
多謝你們。
約翰·史密斯
永遠不要相信您的讀取模型,這並不意味着您需要從寫入數據庫讀取數據。 這意味着您在讀取模型中的數據可能變得無效。 在這種情況下,您應該在事件處理程序中進行一些修復,因為您信任僅寫入數據庫會從事件(寫入數據庫)中重建讀取數據庫。
簡單規則(至少我遵循這些規則):
在您的示例中,一切都很簡單:處理用戶AR消息並以用戶需要的格式存儲事件(您應該從事件映射數據,而不僅僅是存儲事件)(在nosql數據庫中為嵌套集合),在sql中為單獨表數據庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.