在对几个问题的回复中,Jonathan Oliver 提到使用 AsynchronousCommitDispatcher 来处理多个工作单元。
我还处于项目的设计阶段(还在学习 CRQS 和 ES),有几个问题:
我会为每个将受引发域事件影响的聚合根创建一个 AsynchronousCommitDispatcher 吗?
如果我有某种锁定机制,如果调度的事件被另一个用户锁定,它不能对聚合根进行更改,会发生什么?如果有锁,AsynchronousCommitDispatcher 会重试吗?
如果系统在处理域事件之前出现故障怎么办?除非我坚持它没有被处理,否则它不会丢失吗?
我最初的理解是 Dispatchers 的类型是用于通过网络传递消息或用于更新读取模型。在这里,我们使用它来更新另一个聚合根。我这个对吗?
TIA
京东