GraphQL 架构
GraphQL 是描述 GraphQL 服务器行为的规范。它是一套关于如何处理请求和响应的指南,如支持的协议,服务器可以接受的数据格式,服务器返回的响应格式等。客户端对GraphQL的请求server称为Query。
GraphQL的另一个重要概念是其传输层不可知。
它可以与任何可用的网络协议一起使用,如TCP,websocket或任何其他传输层协议。它对数据库也是中立的,因此您可以将它与关系数据库或NoSQL数据库一起使用。
可以使用下面列出的三种方法之一部署GraphQL Server:
- 带有连接数据库的GraphQL服务器
- 集成现有系统的GraphQL服务器
- 混合方法
1. 带有连接数据库的GraphQL服务器
该体系结构具有带有集成数据库的GraphQL Server,通常可用于新项目。在收到Query时,服务器读取请求有效负载并从数据库中获取数据。这称为解析查询。返回给客户端的响应遵循官方GraphQL规范中指定的格式。
在上图中,GraphQL服务器和数据库集成在一个节点上。客户端(桌面/移动)通过HTTP与GraphQL服务器通信。服务器处理请求,从数据库中提取数据并将其返回给客户端。
2. GraphQL Server集成现有系统
这种方法对于具有遗留基础结构和不同API的公司很有帮助。GraphQL可用于统一现有系统中的微服务,遗留基础架构和第三方API。
在上图中,GraphQL API充当客户端与现有系统之间的接口。客户端应用程序与GraphQL服务器通信,后者又解析查询。
3. 混合方法
最后,我们可以结合上述两种方法并构建一个GraphQL服务器。在此体系结构中,GraphQL服务器将解析收到的任何请求。它将从连接的数据库或集成的API中检索数据。这如下图所示
下一章:GraphQL 应用程序组件
本章讲解不同的GraphQL组件以及它们相互通信的方式。整个应用程序组件可以区分如下:服务器端组件客户端组件1. 服务器端组件GraphQL服务器构成服务器端的核心组件,允许解析来自GraphQL客户端应用程序 ...