Microservices 微服务:数据共享与API组合

Microservices 微服务:数据共享与API组合,microservices,Microservices,为了给你一点背景知识,我正在开发一款游戏,一款在线足球经理,我有以下微服务: 俱乐部 时令 俱乐部微服务负责俱乐部管理,赛季负责赛季管理 赛季服务的职责之一是返回联赛排名以及俱乐部名称和位置。在赛季服务中,我只存储俱乐部id,但为了满足返回排名的请求,我还需要俱乐部名称,该名称位于俱乐部服务中 现在,我可以在Clubs服务中实现一个REST端点来返回俱乐部名称,但是这些服务将不再松散耦合 正如我从阅读资料中看到的,我有两个选择,它们是: 在季节服务中有一个俱乐部缓存,该缓存处理俱乐部id和

为了给你一点背景知识,我正在开发一款游戏,一款在线足球经理,我有以下微服务:

  • 俱乐部
  • 时令
俱乐部
微服务负责俱乐部管理,
赛季
负责赛季管理

赛季
服务的职责之一是返回联赛排名以及俱乐部名称和位置。在
赛季
服务中,我只存储
俱乐部id
,但为了满足返回排名的请求,我还需要俱乐部名称,该名称位于
俱乐部
服务中

现在,我可以在
Clubs
服务中实现一个REST端点来返回俱乐部名称,但是这些服务将不再松散耦合

正如我从阅读资料中看到的,我有两个选择,它们是:

  • 季节
    服务中有一个
    俱乐部
    缓存,该缓存处理
    俱乐部id
    俱乐部名称
    之间的关系(可能是一个数据库表)。在这种情况下,数据将被复制(这在大多数情况下是可以的),但我需要与
    Clubs
    服务发送的域事件保持同步

  • 另一个选项是创建另一个微服务,用作API组合模式。因此,此API将从这两个服务获取数据,丰富响应并发送回调用方

现在,我怀疑应该采取哪种方法。哪一个缺点较少?

中介绍了这两个缺点。两者都有利弊。您必须根据您的NFR进行选择