如何在微服务架构中处理UI数据?

3
我们计划在下一个应用程序中使用微服务架构。我想知道在每个相关的微服务中是否拥有相同的域实体是一种常见做法。例如,有一个客户。客户包括多个用户和一家公司。它们存在于客户服务中。然后有一个仓储服务。一个仓库可以有不同的客户扮演不同的角色。因此,仓库实体保存了与客户相关的键。
在这两个微服务之前有一个API网关。现在当显示仓库屏幕时,我们还需要来自客户服务的客户信息。因此,API网关可以处理这个问题,即获取仓库并获取相关客户。但是,这样我们通过API网关连接了两个服务。将具有特定属性的客户也保存在仓储服务中是否更好?但这只是针对视图/UI特定用例必要的吗?这是将“视图逻辑”引入服务的正确方式吗?

我们有一个非常相似的问题。如果您能分享您的经验,那将是太好了。在微服务中,是否最好通过事件在两个微服务之间复制配置文件数据?还是UI / 网关应该负责通过同步API调用在运行时获取数据?我个人有点偏向于在仓储服务中复制相关客户的配置文件数据,因为这样可以消除依赖关系,并且如果客户服务停止,它将更好地为最终用户提供服务。但仍然不确定这是否是最佳实践。 - Abdul Qadir
2个回答

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

-1

尽量基于单一职责系统拥有尽可能多的微服务。

创建API服务,并允许其生成事件,然后由其他微服务消耗并根据所需参数提供结果

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

拥有多个微服务将帮助您缩放,如果您只有2个微服务,则更像是单块服务。

考虑未来,做出明智决策。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接