

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# API 整合 ‒ 前端的後端
<a name="api-integration-data-fetching"></a>

[前端後端 (BFF) 模式](https://aws.amazon.com/blogs/mobile/backends-for-frontends-pattern/)通常用於微服務環境。在微型前端環境中，BFF 是屬於微型前端的伺服器端服務。並非所有微型前端都需要有 BFF。不過，如果您使用的是 BFF，則必須在相同的邊界內容中執行，而不是在其他邊界內容之間共用。

與傳統服務不同，BFF 不遵循網域模型。相反地，它是微型前端在到達用戶端之前預先處理資料的 API 層。這很有用的區域包括下列項目：
+ 私有 APIs的授權
+ 來自不同來源的資料彙總
+ 資料轉換以減少網路負載，並簡化用戶端的資料使用

因此，BFF 由微型前端擁有，而不是由網域服務層擁有。您可以使用下列方式部署 BFFs：
+ AWS AppSync GraphQL APIs
+ 一組 AWS Lambda 函數
+ 做為在 Amazon ECS、Amazon EKS 或 AWS AppRunner 上執行的容器

下圖顯示，如果沒有 BFF 模式，微型前端必須連線到個別微服務 API 端點，才能擷取和彙總資料。

![儀表板應用程式，會先擷取交易，然後從解耦的微服務中擷取價格。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/micro-frontends-aws/images/mfe-architectures-without-bff.png)


相反地，使用下圖中的 BFF 模式，微型前端可以與其自己的後端通訊，並擷取彙總的資料。



![交易檢視會從 BFF 擷取彙總資料，包括價格資訊。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/micro-frontends-aws/images/mfe-architectures-with-bff.png)


團隊可以針對行動、Web 或特定檢視等不同管道開發 BFFs，並要求透過減少聊天來最佳化後端互動。