【问题标题】:Handling Data for UI in a Microservice Architecture?在微服务架构中处理 UI 数据?
【发布时间】:2018-01-07 22:52:43
【问题描述】:

我们计划在下一个应用程序中使用微服务架构。我想知道为每个相关的微服务拥有相同的域实体是否是一种常见的做法。例如,有一个客户。一个客户由多个用户和一个公司组成。它们存在于客户服务中。然后是仓库服务。一个仓库可以有不同角色的不同客户。所以仓库实体持有客户的钥匙。

在这两个微服务前面有一个 API 网关。现在,当显示带有仓库的屏幕时,我们还需要来自客户服务的客户信息。所以 API 网关可以处理这个,这意味着获取仓库,然后是相关的客户。但随后我们通过 API 网关连接两个服务。在仓库服务中保留具有特定属性的客户是否更好?但这只是视图/UI 特定用例所必需的吗?这是将“视图逻辑”引入服务的正确方法吗?

【问题讨论】:

  • 我们有一个非常相似的问题。如果你能分享你的学习,会很棒吗?在两个微服务(通过事件)中复制配置文件数据会更好吗?或者 UI/网关是否应该负责通过同步 API 调用在运行时获取数据。我个人有点偏向于在仓库服务中复制相关客户的个人资料数据,因为它消除了依赖性,并且如果客户服务中断,它将更好地为最终用户服务。但仍不确定这是否是最佳做法。

标签: database api architecture microservices gateway


【解决方案1】:

尝试在单一职责系统的基础上提供尽可能多的微服务。

创建一个 API 服务并允许它生成事件,然后这些事件将被其他微服务使用,并根据所需的参数提供结果 .

现在API 可以收集数据,并可以以所需格式回复

拥有多个微服务将帮助您扩大和缩小,如果您只有 2 个微服务,它或多或少就像一个单一的服务。

做决定,考虑未来。

【讨论】:

    【解决方案2】:

    您可以通过不同的方式实现这一点。仓库微服务可以使用来自客户微服务的数据并丰富其响应,其中包含用于演示的所有内容。或者演示文稿可能由几个区域组成,这些区域从不同的微服务加载,每个微服务都呈现其部分。

    【讨论】:

      猜你喜欢
      • 2018-08-11
      • 2020-03-08
      • 2017-03-19
      • 1970-01-01
      • 1970-01-01
      • 2016-05-22
      • 2020-09-12
      • 1970-01-01
      • 2018-06-04
      相关资源
      最近更新 更多