GraphQL是Facebook提出的一种数据查询语言,核心特性是数据聚合和按需索取,目前被广泛应用于前后端之间,解决客户端灵活使用数据问题。本文介绍的是GraphQL的另一种实践,我们将GraphQL下沉至后端BFF(Backend For Frontend)层之下,结合元数据技术,实现数据和加工逻辑的按需查询和执行。这样不仅解决了后端BFF层灵活使用数据的问题,这些字段加工逻辑还可以直接复用,大幅度提升了研发的效率。
本文介绍的实践方案已经在美团部分业务场景中落地,并取得不错效果,希望这些经验能够对大家有帮助。
-
1 BFF的由来
-
2 BFF背景下的核心矛盾
-
3 BFF应用模式分析
-
3.1 后端BFF模式
-
3.2 前端BFF模式
-
-
4 基于GraphQL及元数据的信息聚合架构设计
-
4.1 整体思路
-
4.2 核心设计
-
-
5 针对GraphQL的优化实践
-
5.1 使用简化
-
5.2 性能优化
-
-
6 新架构对研发模式的影响
-
6.1 聚焦业务的开发模式
-
6.2 研发流程升级
-
-
7 总结
-
8 参考文献
-
9 招聘信息
1 BFF的由来
BFF一词来自Sam Newman的一篇博文《