如何为微服务构建前端

Apu*_*ngh 5 architecture user-interface microservices

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

Bis*_*hoy 1

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

这将如何实施?

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

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

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

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