CQRS - 重新发布活动

时间:2013-06-25 12:35:16

标签: nservicebus cqrs

我们有一个CQRS项目,正在考虑实施“追赶”的方法,例如:启动一个新的事件处理程序,并告诉eventstore为他重播所有事件。

我们不确定是否应该通过NServiceBus进行重播,因为存在真正的1:1连接且没有发布/订阅情况。此外,我们认为我们的新消费者无法跟上发布速度,其输入队列也会卡住。

这里的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

我听说有人在做以下事情:

  1. 拥有重播/转播活动的系统。已生成已经看过这些事件的投影的事件处理程序会忽略这些事件。
  2. 允许事件处理程序在重置或从头开始新投影时直接查询事件。这可以通过直接从事件存储读取在某些系统中完成,而在其他基于actor的系统中,可以查询事件源周围的actor抽象。
  3. 根据我的理解,选项2允许更好的性能,因为可以批量查询事件,而不是单独向所有侦听器重播。这些只是我的观察,没有任何实际经验可以借鉴。