从10月8日至10日与我们齐聚纽约市,学习有关GraphQL联邦和API平台工程的最新技巧、趋势和新闻。加入我们参加2024年纽约市GraphQL峰会
文档
免费开始

GraphQL 作为抽象层

使用 GraphQL 作为服务消费者和后端服务之间的抽象层

架构模式

使用 GraphQL 的一大优势是它可以提供一个服务消费者和维护后端服务团队的抽象层。

在前后端分离(BFF)架构中,每个 BFF 都可以连接到任意数量的后端服务。随着为每个应用程序添加新的 BFF,连接的数量会激增,任何后端服务的更改都会产生重大影响。

🖥️ App
📱 App
📱 App
🖥️ App
🖥️ App
BFF
BFF
BFF
BFF
BFF
REST Service 1
REST Service 2
REST Service 3
REST Service 4
REST Service 5
SOAP Service 1
SOAP Service 2
SOAP Service 3
SOAP Service 4
SOAP Service 5
gRPC Service 1
gRPC Service 2
gRPC Service 3
gRPC Service 4
gRPC Service 5

服务迁移示例

假设一家公司有十个应用程序,每个应用程序都有自己的 BFF。该公司正在将众多后端 API 之一迁移到不同的技术。由于 BFF 拥有数据编排权力,该组织必须更新十个不同的 BFF。

为了避免破坏性更改,客户端必须

  • 了解变更过程中发生的情况,
  • 跟踪时间表,
  • 并跟踪字段名称的更改。

🖥️ App
📱 App
📱 App
🖥️ App
🖥️ App
🖥️ App
📱 App
📱 App
🖥️ App
🖥️ App
BFF
BFF
BFF
BFF
BFF
BFF
BFF
BFF
BFF
BFF
❌ Old Service ❌
✨ New Service ✨

如果公司使用了 GraphQL 作为抽象层,消费者不需要了解此更改,因为组织已经在一个图表模式后面抽象了后端 API。唯一需要更改的是 GraphQL 层。

🖥️ App
📱 App
📱 App
🖥️ App
🖥️ App
🖥️ App
📱 App
📱 App
🖥️ App
🖥️ App
❌ Old Service ❌
✨ New Service ✨
✅ GraphQL ✅

随着公司的发展,这可以消除由于后端服务变更影响降低而导致的大量更新、部署和依赖关系。

结论

GraphQL 是一个强大的工具,可以从前端消费者中抽象出后端服务的复杂性。它可以保护消费者不受到那些服务重大更改的影响,同时减少这些更改的影响。最终,它为消费者提供了选择和控制权,而不会对后端服务产生负面影响。

进一步阅读

下一条
首页
评价文章评价在GitHub上编辑编辑论坛Discord

©2024Apollo Graph Inc.,商业名称Apollo GraphQL。

隐私政策

公司