2

我们正在从单体应用程序迁移到微服务,我们使用事件溯源和 CQRS。每个服务都有自己的读取模型。当服务需要插入数据时,它会触发一个事件。使用该数据的服务将更新其读取模型。我现在面临的挑战是如何处理静态数据。当我们有一个单体应用程序时,我们已经创建了一些数据库脚本来将它们插入到数据库中。现在每个服务都有自己的读取模型,我们应该如何插入这些静态数据?

我的数据库是postgresql。

4

1 回答 1

0

我想到了几种可能性。

如果静态数据只是为了在关系数据库中实现进一步的规范化,由于 CQRS/ES 倾向于非规范化,您可能可以不使用它,而只需在事件中包含非规范化的数据。

或者,您可以将静态数据作为其自己的事件流提供(请注意,该流将相当“干”,只有很少的事件流动)。读取需要它的模型可以将其合并(也许通过将其作为静态数据合并到数据库中)。

如果数据是异常静态的,并且您的所有服务都以相同的语言实现,那么将其构建到库中也可能有意义。

于 2021-08-22T13:37:37.443 回答