API 集成 − 前端的后端 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

API 集成 − 前端的后端

端后端 (BFF) 模式通常用于微服务环境。在微前端的背景下,BFF 是一种属于微前端的服务器端服务。并非所有的微前端都需要有 BFF。但是,如果您使用的是 BFF,则它必须在相同的有界上下文中运行,并且不能在其他有界上下文之间共享。

与传统服务不同,BFF 不遵循域名模型。相反,它是微前端的 API 层,用于在数据到达客户端之前对其进行预处理。这有用的领域包括:

  • 对私有 API 的授权

  • 汇总来自不同来源的数据

  • 转换数据以减少网络负载并简化客户端对数据的消耗

因此,BFF 归微前端所有,而不是域服务层所有。可以使用以下方法部署 BFF:

  • AWS AppSync GraphQL API

  • 一组 AWS Lambda 函数

  • 作为在 Amazon ECS、Amazon EKS 或 AWS 上运行的容器 AppRunner

下图显示,如果没有 BFF 模式,微前端必须连接到各个微服务 API 端点才能获取和聚合数据。

仪表板应用程序,它首先获取交易,然后从分离的微服务中获取价格。

取而代之的是,使用下图中的 BFF 模式,微前端可以与自己的后端通信并获取聚合数据。

交易视图从 BFF 获取汇总数据,包括价格信息。

团队可以为不同的渠道(例如移动、网络或特定视图)开发 BFF,并要求通过减少闲聊来优化后端互动。