加载中...

BFF(Backend for Frontend,服务于前端的后端)是一种 API 架构模式:不再让所有客户端共用一个通用 API 网关,而是为每类前端体验(Web、iOS/Android、小程序、第三方开放平台等)各建一层专属的后端服务。该模式源自 SoundCloud 的工程实践,由 Sam Newman 等人总结推广。
不同客户端对数据的需求差异很大:移动端希望一次请求拿到裁剪聚合后的小载荷,Web 端可能需要更丰富的字段。BFF 位于客户端与下游微服务之间,负责按该前端的需要编排调用多个微服务、聚合与裁剪数据、处理该端特有的鉴权与协议适配。BFF 通常由对应的前端团队拥有和维护,从组织上消除前后端接口协商的摩擦(与康威定律呼应)。
优点是接口贴合各端需求、减少过度获取(over-fetching)、各端独立演进互不阻塞;缺点是服务数量增多、可能出现跨 BFF 的重复逻辑,需要抽取共享库或下沉到领域服务。GraphQL 网关有时被用作 BFF 的替代或实现手段。

登录 后参与讨论
暂无讨论,来发表第一条评论吧