【发布时间】:2018-05-07 23:49:49
【问题描述】:
想象一下:
- 您有两个称为 team 和 player 的微服务,每个都有自己的独立数据库 (postgres)。
- 我需要在球队和球员之间建立关联,所以我需要将此关系存储在球员内部,并带有球队 ID 属性。
我有两个选择:
1) 使用 kafka,对于插入数据库的每个团队,我都会发送一个事件,玩家会监听此事件并在玩家微服务中更新自己的团队表。因此,玩家微服务将拥有有关团队和玩家实体的信息,以便建立它们之间的关系。
我们在数据复制和完整性方面存在一些缺陷。可以使用事件溯源和 cqrs 来避免。
2) 调用微服务团队,以便在视图中列出团队、建立关联并发布到玩家微服务。
缺点:调用 http 团队服务可能会宕机。
为了归档依赖关系并在微服务之间建立关系,在微服务之间进行通信的正确方法是什么。第 1 步复制的数据是否合理?
【问题讨论】:
标签: microservices