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 獲取匯總數據,包括價格信息。

團隊可以為不同渠道(例如移動設備,Web 或特定視圖)開發 BFF,並且需要通過減少聊天性來優化後端互動。