在微服务架构中为UI进行数据聚合的最佳位置在哪里

时间:2017-05-04 14:30:33

标签: rest api web single-page-application microservices

我正在使用微服务架构构建应用程序。它有五个Rest API和一个UI(单页面应用程序)微服务。

enter image description here

有人可以告诉我哪个是进行数据汇总的最佳选择吗?

  1. 将UI应用程序作为静态Web应用程序,并从前端(使用javascript框架从浏览器)执行所有API请求,并且所有数据聚合都在前端自身进行渲染?
  2. 将UI应用程序作为动态Web应用程序,并在Web应用程序后端执行所有API请求和数据聚合?

1 个答案:

答案 0 :(得分:3)

听起来你正在寻找的模式是API Gateway。有时也称为“Edge”或“EdgeService”。它可以用作群集的单个入口点并聚合服务调用结果。其他用例包括集中身份验证和/或授权以及路由,监控和弹性。

有些人只通过网关路由外部呼叫,其他人也通过网关路由内部呼叫。

这里有一些技术要研究:

来自Netflix堆栈的

Zuul。您已经编写了一个聚合过滤器。请参阅this文档。

Amazon API gateway - 如果您在AWS上运行。您通常会使用自己的lambda服务进行聚合。

Kong。没有本机聚合支持,但您可以转发到您提供的单独聚合服务。