在没有事件存储的情况下重播服务总线上的事件

时间:2013-01-21 19:01:58

标签: .net cqrs servicebus event-sourcing

我正在尝试设计新服务并尝试遵循CQRS。我正在使用ORM(NHibernate)来读写模型。除此之外,写模型不是事件源。我的目标是首先保持技术熟悉,然后在读取端转移到NoSQL,在写入端转移到事件源。

我希望使用服务总线,只需重播旧事件就可以生成新的读取模型;但是我现在卡住了。我有几个问题:

  1. 我想要完成的任何事情是否有意义?如果是这样,我可以使用“Service Bus for Windows Server”来执行此操作吗?我找不到创建新订阅的方法,让游标从头开始一个主题。当所有现有订阅者都使用事件时,事件是否被清除?

  2. 如果有意义,但“Windows Server Service Bus”不能胜任这项工作,您是否建议寻找替代服务总线或在写入端实施事件源?

1 个答案:

答案 0 :(得分:1)

您不一定需要服务总线或活动来重播活动。您可以简单地将事件序列化为磁盘(或任何其他存储方式),并根据需要重新加载它们。

查看Beingtheworst的简单示例实现。样本可以在GitHub找到。特别是 E002 E003 使用没有服务总线的序列化事件或事件源的明确概念。