【发布时间】:2012-08-06 22:49:11
【问题描述】:
在大多数情况下,我理解 CQRS + ES 系统中命令和事件之间的区别。但是,有一种情况我想不通。
假设我正在构建一个个人财务跟踪系统,用户可以在其中输入借项/贷项。显然,这些是命令,一旦它们被验证,域模型就会更新并发布一个事件。但是,假设贷记/借记信息也直接来自外部系统,例如用户的花店发送一条消息,说明他已经从用户的信用卡中收取了他经常性的母亲节送货费用。在这种情况下,消息看起来像是一个事件(收费已经发生),但消息可能格式不正确并被拒绝。那么它真的是一个命令吗?但是接下来需要一种发送 ACK/NACK 的方法,但这里不是这种情况(花店只有在知道借记发生后才发送消息)。
编辑:澄清一下,我不是在谈论知道我的事件和/或命令的任何外部系统。我有一个组件从外部系统接收数据,然后必须发布事件或发送命令。问题是,我的组件应该使用哪个事件或命令?
【问题讨论】:
标签: cqrs event-sourcing