events - 我们应该将事件存储在数据库中吗? (事件驱动设计)

标签 events event-handling domain-driven-design event-driven event-driven-design

我们有多种发布和订阅领域事件的服务。我们通常做的是每当我们发布事件时记录事件,每当我们处理事件时记录事件。我们基本上用它来应用编排模式。

我们没有在这些系统中进行事件溯源,并且在发布/处理后没有对它们进行编程使用。这是我们选择不将它们存储在持久容器(例如数据库或事件存储)中的主要驱动因素。

问题是,我们这样做是否遗漏了一些基本的东西? 存储事件是必须的吗?

最佳答案

我将排队消息视为系统消息,即使它们代表事件驱动架构中的某些域事件(发布/订阅消息传递)。

关于它们的存储绝对没有硬性规定。如果您想保留它们,您可以让消息传递机制将它们转发到某个审核端点进行存储,然后在一段时间后将其删除(如果需要)。

如果存储它们,您不会错过任何基本的东西。

关于events - 我们应该将事件存储在数据库中吗? (事件驱动设计),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63404582/

相关文章:

architecture - 当服务将数据检索委托(delegate)给数据映射器时,哪一个应该返回模型?

android - Google 任务管理器自定义事件未触发 - Android

C# 反射 : How to invoke a EventInfo?

unit-testing - 编写单元测试以检查事件是否被触发

c++ - wxWidgets 和上下文菜单

vb.net - VB流行颜色选择器

model - 什么是贫血模型?

javascript - e.preventDefault() 中的 e 是什么

Java 按钮事件处理程序无法解析

domain-driven-design - 如何为在一个上下文中是聚合根但在另一上下文中不是聚合根的实体编写命令?