微服务架构中的事件外包+读取模型

问题描述 投票:0回答:1

我对微服务架构中的事件源有疑问。

假设每个服务将其事件存储在自己的事件存储中,如果投影需要来自多个服务的数据,我该如何重建读取模型?

例如,我们有UserService和InvoiceService。在发票服务模型中,我仅使用用户ID,但在读取模型中,我还需要用户名,以便于查询。

谢谢,我现在有这些选择:

  1. 还将用户名存储在发票服务中。我认为不是很好,因为我的真实来源仍然应该是用户服务。
  2. 创建(其余?)api以在重建读取模型的情况下从用户服务中获取用户名。

我错过了什么吗?有人知道更简单的解决方案吗?

architecture microservices event-sourcing
1个回答
0
投票

用户可以拥有多个发票,并且从事件源使用唯一的用户名重播/重建模型是不理想的(或者至少从我的理解来看)。我比较喜欢的路线是a co-relation identifier。顾名思义,它将帮助您在作为给定业务任务/动作的一部分而发生的服务调用/事件源记录之间建立相互关系。在重新构建模型(无论是在仪表板中显示还是在执行模型/动作重播的逻辑)方面,有一些相互关联的内容很重要。通过快速搜索,我发现了a talk about关联ID。请继续阅读并详细了解它,看看这种方法是否可以解决您的业务问题。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.