我知道数据总是过时的。
处理工作流任务的方式是什么,比如审批发票。用户只允许执行一次此任务。当这由异步服务处理时,可能需要几秒钟(或更长时间)。在此期间,用户可以再次审批相同的发票,因为该任务尚未在DB中更新。
任何关于这方面的想法都是值得感谢的。
发布于 2011-10-13 18:35:33
域模型必须保持一致性。写入端的模型不应该被认为是过时的,只有读取端的投影才会被认为是过时的。
如果审批事件没有被投射到read模型中,这并不重要。但是,如果用户根据过时的数据发送无效的命令,则域模型需要知道批准已经发生。
您的域的存储库应该始终获得其最新状态的聚合根(无论您是否使用事件源或一些基于状态的持久性作为SQL )。
https://stackoverflow.com/questions/7746909
复制相似问题