首页 > 解决方案 > 基于消息的微服务 - Api 网关性能

问题描述

我正在设计一个微服务架构,我有一个与性能相关的问题。这就是我正在尝试的设计:

我的问题在于上面的#3 和这个过程的性能。

每当收到此请求时,api 网关必须将消息请求放入队列中以获取来自所有服务的信息,而不是等待所有服务回复其数据的最新状态,然后将这些数据和返回给调用者。

这个过程显然相当慢,因为它必须等待每个服务响应。加快这个速度的方法是什么?

我想到解决这个问题的唯一方法是拥有另一个聚合服务/数据存储,其中重复数据由我的 api 网关存储和查询。我真的不喜欢这种方法,因为它会复制数据并且是额外的工作/代码。

从我的微服务中查询最新数据的“正确”和高效的方式是什么。

标签: performancearchitecturemicroservices

解决方案


您可以使用这些方法跨微服务查询数据。 参考
选择性数据复制

通过这种方法,我们将其他微服务所需的数据复制到我们微服务的数据库中。微服务之间的唯一耦合在于数据复制配置。

复合服务层 使用这种方法,您可以引入从较低级别的微服务聚合数据的复合服务。


推荐阅读