简单web应用程序的事件源数据流



阅读了很多CQRS/DDD/ES博客文章,仍然不确定一个简单的博客引擎是否能工作。

例如,在发布帖子的情况下。。。用户单击发布→PostPublished事件已添加到事件存储→触发要更新的聚合对象(例如,存档和FrontPage)以反映最近的事件。

在用户端,我点击发布按钮,然后被重定向到我博客的首页,在那里我可以看到顶部的新帖子。然而,如果Event Store落后(比如说1-2秒),我的新帖子将不会出现。

答案是让系统在将重定向返回给用户之前等待所有聚合更新吗?

您的问题是如何处理最终的一致性,而且确实没有一个防傻的一刀切的解决方案。

国际海事组织的最佳解决方案是简单地在上面贴上"发布后,它会很快出现"的通知。有些人还会一遍又一遍地进行查询,直到他们得到最近的更改,然后显示在首页。如果ES落后,头版会延迟一两秒钟。

最新更新