CQRS,DDD同步报告数据库

bkh*_*nal 6 .net domain-driven-design cqrs

我们正在尝试CQRS和DDD以及事件采购.假设我有一个客户更新了一个电子邮件地址,它会触发CustomerUpdatesEmailAddress事件,这会进入我的操作(写入DB)并更新表格.我们的系统设计为运行一个ETL过程,该过程运行操作数据并更新数据库(这是一个读取数据库).根据电子邮件地址的变化,ETL可以做一些繁重的工作(电子邮件地址只是一个例子) ),当用户想要立即在屏幕上看到电子邮件地址更新时,我们如何同步报告数据库(DataMart和操作方)?

Mik*_*nen 14

这个播客(例如幻灯片47)中,Udi Dahan声明客户端不必等待读取站点更新.客户可以"伪造"它.因此,例如,如果用户更改了他或她的电子邮件地址,则客户端可以从其发送的命令中获取新地址,并实际处理命令之前将其显示给用户.

  • 这个答案+1.更重要的是要问"用户为什么需要立即更新电子邮件地址?".如果是用户反馈,那么Mikael的答案应该给你足够的时间来运行ETL过程. (2认同)