我正在尝试设计一项新服务并尝试遵循 CQRS。我正在使用 ORM (NHibernate) 进行读写模型。除此之外,写模型不是事件源的。我的目标是首先让技术保持熟悉,然后在读取端迁移到 NoSQL,在写入端迁移到事件源。
我希望使用服务总线,我能够通过重放旧事件来生成新的读取模型;但是我现在被困住了。我有几个问题:
我想要完成的事情有意义吗?如果是这样,我可以使用“Windows Server 服务总线”吗?我无法找到一种方法来创建新订阅并让光标从头开始对于一个话题。当所有现有订阅者使用事件时,事件是否被清除?
如果它有意义但“Windows Server 服务总线” 不能胜任这项工作,您是否建议寻找替代服务总线或在写入端实现事件源?
最佳答案
您不一定需要服务总线或事件源来重放事件。您可以简单地将您的事件序列化到磁盘(或任何其他存储方式)并根据需要重新加载它们。
看看 Beingtheworst 的简单示例实现. sample 可以在 GitHub 找到。 .特别是 E002 和 E003 使用没有服务总线或明确的事件溯源概念的序列化事件。
关于.net - 在没有事件存储的情况下在服务总线上重播事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14445416/