- GraphQL Tutorial
- GraphQL - Home
- GraphQL - Introduction
- GraphQL - Environment Setup
- GraphQL - Architecture
- GraphQL - Application Components
- GraphQL - Example
- GraphQL - Type System
- GraphQL - Schema
- GraphQL - Resolver
- GraphQL - Query
- GraphQL - Mutation
- GraphQL - Validation
- GraphQL - JQuery Integration
- GraphQL - React Integration
- GraphQL - Apollo Client
- GraphQL - Authenticating Client
- GraphQL - Caching
- GraphQL Useful Resources
- GraphQL - Quick Guide
- GraphQL - Useful Resources
- GraphQL - Discussion
GraphQL - 架构
GraphQL 是描述 GraphQL 服务器Behave的规范。它是一组关于如何处理请求和响应的指南,例如支持的协议、服务器可以接受的数据格式、服务器返回的响应格式等。客户端向 GraphQL 发出的请求服务器称为查询。GraphQL 的另一个重要概念是其传输层不可知论。它可以与任何可用的网络协议(如 TCP、Websocket 或任何其他传输层协议)一起使用。它对数据库也是中性的,因此您可以将它与关系数据库或 NoSQL 数据库一起使用。
可以使用下面列出的三种方法中的任何一种来部署 GraphQL Server -
- 连接数据库的 GraphQL 服务器
- 集成现有系统的GraphQL服务器
- 混合方法
具有连接数据库的 GraphQL Server
该架构有一个带有集成数据库的 GraphQL Server,通常可以用于新项目。收到查询后,服务器读取请求负载并从数据库中获取数据。这称为解决查询。返回给客户端的响应遵循官方 GraphQL 规范中指定的格式。
在上图中,GraphQL 服务器和数据库集成在单个节点上。客户端(桌面/移动)通过 HTTP 与 GraphQL 服务器通信。服务器处理请求,从数据库中获取数据并将其返回给客户端。
GraphQL Server 集成现有系统
这种方法对于拥有遗留基础设施和不同 API 的公司很有帮助。GraphQL 可用于统一现有系统中的微服务、遗留基础设施和第三方 API。
在上图中,GraphQL API 充当客户端和现有系统之间的接口。客户端应用程序与 GraphQL 服务器通信,后者解析查询。
混合方法
最后,我们可以结合上述两种方法构建一个 GraphQL 服务器。在此架构中,GraphQL 服务器将解析收到的任何请求。它将从连接的数据库或集成的 API 检索数据。如下图所示 -