在CQRS/ES系统中存储命令有什么好处?

Eri*_*k T 6 design-patterns cqrs event-store

我正在研究CQRS /事件存储系统.目前,我使用的模式是命令是同步的.也就是说,在命令完成之前,用户界面不显示完成的操作,并且向用户显示成功/失败.在执行命令期间,生成的所有事件(例如,在聚合根Y上发生的动作X)存储在持久存储器中.

我读过的所有CQRS描述都实现了命令存储.我想知道在我的情况下是否需要这个.

另一个注意事项 - 有很多长时间运行的命令类型操作,因此我将操作分解为生成事件的命令,然后事件又发出更多命令.根据聚合根的状态,这些命令是幂等的.我不知道这会对答案产生什么影响,但值得指出.

谢谢,埃里克

Yev*_*rov 8

  1. 回归测试在每次开发后,您都可以从生产环境中获取命令日志,重新执行它并将生成的事件流与生产环境中的事件流进行比较.如果它们不同 - 你的逻辑就会回归.

  2. 消息流可视化和分析.