Backend-for-Frontend (BFF) 是为每种客户端类型(web、mobile、partner)提供的专用网关。与其说用一个通用网关服务所有客户端,不如说每个前端都有一个为其需求量身定制的后端。
它解决的问题
移动应用和网络应用有不同的数据、payload 大小和通信频率需求。单一通用 API 会强制折衷并导致过度获取数据。
text
Without BFF: With BFF:
All clients Web ─▶ Web BFF ─┐
│ Mobile ─▶ Mobile BFF ─┼─▶ microservices
one generic API Partner ─▶ Partner BFF ─┘
