首页/开发/系统分析与架构设计速查/BFF(Backend for Frontend)

BFF(Backend for Frontend)

为每类前端(Web、移动端、第三方)提供专属聚合层:按端裁剪字段、聚合多服务调用并处理差异化缓存;避免用一个通用接口适配所有客户端。

职责聚合调用、字段裁剪、鉴权适配、端侧缓存策略
边界不承载核心业务规则,逻辑可随端演进
部署按前端团队归属维护,独立发布

BFF 职责边界

放在 BFF不放在 BFF
字段裁剪与格式适配核心业务规则
多服务聚合与并行调用跨端共享的领域逻辑
端侧鉴权与缓存策略数据持久化与强事务
降级与默认值兜底领域事件的生产
BFF 数量与前端类型匹配即可;按页面拆分 BFF 会带来重复代码与运维负担。

易错点

  • BFF 里堆核心业务规则,其他端无法复用
  • 每个页面一个 BFF,重复代码与发布成本高

数据来源与参考

  • Sam Newman:Backends For Frontends(Pattern)
  • microservices.io:API Composition
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌