1

进入 CQRS,我知道你有命令(应用层)和事件(来自域)。

在事件要更新读取模型的简单情况下,读取模型更新会失败吗?如果没有“错误”,那么我看不到它们失败,并且当我使用 EventStore 时,我知道有一个提交标志将重试失败。

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

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

4

1 回答 1

2

当然,在某些情况下,已发布的事件在读取模型中会失败。

你必须确保你可以检测到并解决它。

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

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

于 2012-03-20T12:16:31.623 回答