【问题标题】:How to build front end for Microservices如何为微服务构建前端
【发布时间】:2017-07-13 06:54:48
【问题描述】:

假设我有十几个微服务。我想知道前端应该去哪里。假设前端是 HTML、Javascript、CSS。一种方法是使其成为由 UI 团队处理的单独服务。所以它可以形成API网关,浏览器的请求首先进来。但这似乎与独立的自包含服务的想法背道而驰。
浏览器 ------> API 网关 ------> 微服务
this 链接中,他们说 Javascript 和 CSS 应该由微服务提供服务。 API 网关应该只提供 HTML 页面。这是一个很好的图表显示了这个>> 我有两个问题
1. 这将如何实施? API 网关将如何为微服务中的 JS 和 CSS 文件以及 HTML 片段提供服务。初始页面加载将如何发生以及从何处加载。
2. 现在我们正在将 HTML 混合到微服务中。但是,如果我也想为 Android 和 iOS 应用程序提供服务怎么办?谢谢。

【问题讨论】:

  • 我认为 api 应该只提供数据而不是 html/css 标记。使用任何将调用您的 API 的全栈 Web 框架构建客户端 Web 应用程序。 Android/ios 应用也会调用 api。

标签: user-interface architecture microservices


【解决方案1】:

让我尝试直接回答您的 2 个问题,而不讨论任何一种方法。

这将如何实施?

如果您使用 MV* 模式,则可以使用模块化 Web 应用程序。 AngularJS 和 ReactJS 都支持构建模块化应用程序并通过 webpack 或 requireJs 按需加载模块。

由于您的 UI 由来自不同微服务的片段组成,因此您可能需要反向代理和一些 CDN 或缓存,以通过将客户端请求管理到单个主机(域)来加速页面加载。

如果我想提供 Android 和 iOS 应用程序怎么办?

原生应用需要一个 API 层,您可以将微服务整合到一个 API 网关中,甚至可以在移动应用和实际微服务之间开发一个中介 API,以仅公开实际后端的一个简单子集。

【讨论】:

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