什么是 前端专用后端
为每个前端提供单独的后端
BFF(前端专用后端)
Backend for Frontend — 一种架构模式,为每种类型的客户端(Web、移动应用、IoT)创建单独的后端层。
为什么需要BFF
| 没有BFF的问题 | BFF的解决方案 | |--------------|--------------| | 所有客户端使用一个API | 为每个客户端优化的API | | 响应中数据过多 | 只包含特定UI需要的字段 | | 客户端逻辑复杂 | 服务器端数据聚合 | | 移动端加载缓慢 | 最小化请求和数据 |
架构
[Web应用] → [Web BFF] ↘
→ [微服务]
[移动应用] → [Mobile BFF] ↗
使用场景
- 不同客户端 — Web、iOS、Android有不同需求
- 微服务架构 — 需要聚合多个服务
- 性能优化 — 为移动端最小化数据
- 独立团队 — 前端和后端团队分离
优势
- 为每种客户端类型优化
- 独立部署
- 变更隔离
- 简化客户端代码
劣势
- BFF之间逻辑重复
- 服务数量增加
- 同步变更的复杂性