【发布时间】:2018-01-07 22:52:43
【问题描述】:
我们计划在下一个应用程序中使用微服务架构。我想知道为每个相关的微服务拥有相同的域实体是否是一种常见的做法。例如,有一个客户。一个客户由多个用户和一个公司组成。它们存在于客户服务中。然后是仓库服务。一个仓库可以有不同角色的不同客户。所以仓库实体持有客户的钥匙。
在这两个微服务前面有一个 API 网关。现在,当显示带有仓库的屏幕时,我们还需要来自客户服务的客户信息。所以 API 网关可以处理这个,这意味着获取仓库,然后是相关的客户。但随后我们通过 API 网关连接两个服务。在仓库服务中保留具有特定属性的客户是否更好?但这只是视图/UI 特定用例所必需的吗?这是将“视图逻辑”引入服务的正确方法吗?
【问题讨论】:
-
我们有一个非常相似的问题。如果你能分享你的学习,会很棒吗?在两个微服务(通过事件)中复制配置文件数据会更好吗?或者 UI/网关是否应该负责通过同步 API 调用在运行时获取数据。我个人有点偏向于在仓库服务中复制相关客户的个人资料数据,因为它消除了依赖性,并且如果客户服务中断,它将更好地为最终用户服务。但仍不确定这是否是最佳做法。
标签: database api architecture microservices gateway