📜  GraphQL-体系结构

📅  最后修改于: 2020-10-25 05:06:10             🧑  作者: Mango


GraphQL是描述GraphQL服务器行为的规范。它是关于如何处理请求和响应(如支持的协议,服务器可以接受的数据格式,服务器返回的响应格式等)的一组准则。客户端对GraphQL的请求服务器称为查询。 GraphQL的另一个重要概念是其传输层不可知论性。它可以与任何可用的网络协议(例如TCP,websocket或任何其他传输层协议)一起使用。它对数据库也是中立的,因此您可以将其与关系数据库或NoSQL数据库一起使用。

可以使用下面列出的三种方法中的任何一种来部署GraphQL Server-

  • 具有连接数据库的GraphQL服务器
  • 集成现有系统的GraphQL服务器
  • 混合方式

具有连接数据库的GraphQL服务器

该体系结构具有带集成数据库的GraphQL Server,通常可以与新项目一起使用。收到查询后,服务器读取请求有效负载并从数据库中获取数据。这称为解决查询。返回给客户端的响应遵循官方GraphQL规范中指定的格式。

GraphQL服务器连接的数据库

在上图中,GraphQL服务器和数据库集成在单个节点上。客户端(桌面/移动设备)通过HTTP与GraphQL服务器通信。服务器处理该请求,从数据库中获取数据并将其返回给客户端。

GraphQL Server集成现有系统

此方法对具有旧基础结构和不同API的公司很有用。 GraphQL可用于在现有系统中统一微服务,旧版基础架构和第三方API。

GraphQL Server集成现有系统

在上图中,GraphQL API充当客户端和现有系统之间的接口。客户端应用程序与GraphQL服务器通信,该服务器依次解析查询。

混合方式

最后,我们可以结合以上两种方法来构建GraphQL服务器。在这种体系结构中,GraphQL服务器将解析收到的任何请求。它将从连接的数据库或集成的API检索数据。下图所示-

GraphQL混合方法