CQRS / EventStore:如何处理传递事件的失败?

时间:2012-03-20 10:10:45

标签: cqrs event-store

进入CQRS,我了解您有命令(应用层)和事件(来自域)。

在事件要更新读取模型的简单情况下,读取模型更新是否失败?如果没有“bug”,那么我看不到它们失败了,因为我正在使用EventStore,我知道有一个提交标志会重试失败。

所以我的问题是除了EventStore之外我还要做任何事情来处理失败吗?

来自一个你在一次交易中做所有事情的世界,现在事情分开完成让我担心。

1 个答案:

答案 0 :(得分:2)

当然,在阅读模型中可能会出现已发布事件失败的情况。

你必须确保你能够发现并解决它。

好消息是您可以一次又一次地重播所有事件,这样您就不仅有机会修复错误。如果需要,您还可以通过重播每个事件来测试修复。

我使用NServiceBus作为我的发布机制,它允许我使用错误队列。使用我的其他日志记录工具和错误队列,我可以轻松确定发生了什么,因为我有错误日志和导致错误的实际消息。