用途:介绍 Backend for Frontend(BFF)模式,即为 Web、移动、TV、IoT 等不同客户端分别提供定制后端 API,解决单一通用 API 带来的过度获取与获取不足问题。
主要能力:按客户端类型说明特征与优化方向,如 Web BFF 侧重完整数据、SSR 与实时更新,移动 BFF 侧重带宽与电量优化、增量同步、图片 CDN 与缓存,IoT BFF 侧重最小载荷、二进制协议与批量操作。还涵盖响应裁剪(字段选择)、聚合策略(顺序、并行、条件)、按客户端限流、类 GraphQL 的查询组合、部分失败处理与按客户端/资源划分的缓存策略。
使用方式:资料给出实现模式,包括客户端专属 DTO、BFF 控制器流程(解析客户端上下文、确定所需数据、并行调用服务、转换并返回定制响应)。示例请求如 GET /bff/dashboard?include=profile,notifications,orders。
适用场景:多客户端共用后端微服务、需要按端裁剪响应或聚合多个服务调用的系统。
限制与反模式:BFF 不应包含业务逻辑、不应直接访问数据库、不应为不同客户端共用同一个 BFF、不应重复校验。相关技能为 bff-spring(Spring Boot BFF 实现)。具体安装命令与代码示例资料未提供。