GraphQL不是孤立存在的技术——它需要嵌入到更大的架构中才能发挥价值。本章讲三个主题:微服务联邦与企业级数据图的构建、从REST平滑迁移到GraphQL的实践策略、以及GraphQL的适用场景、局限性和与其他API协议的共存方式。
这一章的目标是帮你在架构层面做出正确的GraphQL定位决策。
第一节:微服务联邦与企业级数据图。当几十个微服务各自持有一部分数据,前端需要一次查询拿到跨服务数据时,联邦提供了统一的 Supergraph。这一节讲子图、实体、网关、查询计划与实体解析的完整机制,并给出企业级数据图的构建流程。
第二节:从 REST 平滑迁移到 GraphQL。迁移不是"大爆炸",而是先引入 BFF 层包裹、再逐步替换、最终按需保留的渐进过程。这一节给三种迁移策略的完整代码、常见陷阱和成功指标。
第三节:适用场景、局限性与多协议共存。GraphQL 不是万能药。这一节明确列出它擅长与不擅长的场景,并用一张架构图展示 GraphQL、REST、gRPC 如何在同一系统中各司其职。
读这一章时,建议先想清楚自己所在系统的现状:是单体 REST、微服务 REST、还是已经混用多种协议?三种起点对应的路径完全不同——单体先走 BFF 包裹,微服务看情况上联邦,已经多协议共存的系统重点做统一治理。把本章的策略套在自己的系统上画一遍迁移草图,比记住所有概念有用得多。架构决策没有标准答案,但有清晰的取舍框架:这一章给出的就是这套框架——什么时候值得引入、怎么低风险地迁移、如何与既有协议共存。