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

标签 .net cqrs servicebus event-sourcing

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

我希望使用服务总线,我能够通过重放旧事件来生成新的读取模型;但是我现在被困住了。我有几个问题:

  1. 我想要完成的事情有意义吗?如果是这样,我可以使用“Windows Server 服务总线”吗?我无法找到一种方法来创建新订阅并让光标从头开始对于一个话题。当所有现有订阅者使用事件时,事件是否被清除?

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

最佳答案

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

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

关于.net - 在没有事件存储的情况下在服务总线上重播事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14445416/

相关文章:

cqrs - 事件溯源 - 流设计

domain-driven-design - CQRS:写入模型可以使用读取模型吗?

java - 浏览服务总线队列卡在 hasMoreElements() 中

C# HttpClient : Why MediaTypeWithQualityHeaderValue?

c# - 使用 LinQ 从列表返回另一个列表中不存在的值

cqrs - 应如何托管事件溯源事件处理程序来构建读取模型?

function - 将 Sqlfilter 应用到 Azure Function 中的 ServiceBus 主题触发器?

c# - 服务总线 token 的签名无效

c# - 在 .NET 中仅使用没有相应字段的属性的缺点?

c# - 在文本文件的每一行内的 ListView 中写入第一列和第二列行