我正在开发 CQRS/事件存储系统。目前,我使用的模式是命令同步。也就是说,在命令完成之前,用户界面不会将操作显示为已完成,并且会向用户显示成功/失败。在命令执行期间,所有生成的事件(例如,在聚合根 Y 上发生的动作 X)都存储在持久存储中。
我读过的所有关于 CQRS 的描述都实现了命令存储。我想知道在我的情况下是否需要这样做。
另一个注意事项 - 有很多长时间运行的命令类型操作,因此我将操作分解为一个生成事件的命令,然后这些事件依次发出更多命令。这些命令是幂等的,基于聚合根的状态。我不知道这会如何影响答案,但值得指出。