针对Saga /流程经理的CQRS写入事件

时间:2014-08-23 05:47:31

标签: events nservicebus cqrs

我理解流程管理器(aska as sagas)在CQRS的读取端消耗事件(和命令)和生成/发送命令。

我有三个问题:

  1. 流程经理如何在CQRS实施中获取事件?他们通常订阅类似事件总线的东西,还是直接发送事件?

  2. 这种交付机制(无论是什么)需要可靠(至少一次)交付吗?如果错过事件(例如由于崩溃),这似乎是一个问题。

  3. 是否有任何示例,其中进程管理器侦听来自AR的事件,它没有直接或间接地发送命令?例如。只是听一些特定的事件。

  4. 我问的是关于CQRS中的写入侧/域模型的事件分布的这些问题,而不是读取/查询方面。

    谢谢, 阿什利。

1 个答案:

答案 0 :(得分:1)

  1. 是的,他们注册参加他们希望在活动巴士上收到的活动。
  2. 是的,它需要可靠。因为,事件总线通常至少有一次"交付保证,即它保证每个事件至少被传送到每个注册的端点一次。流程管理员还需要确保他们的状态更改以及发送到命令总线的命令在确认收到事件时也会可靠地存储。在our own CQRS实施中,我们使用该部分的JEE交易。
  3. 当然,我甚至会说这是标准。一个非常简单的例子是当域中的某些事情发生时的一些通知系统(例如,通知邮件)。