GraphQL 快速入门【3】GraphQL 架构
【注】本文译自: GraphQL - Quick Guide (tutorialspoint.com)
GraphQL 是描述 GraphQL 服务器行为的规范。它是一组关于如何处理请求和响应的指南,如支持的协议、服务器可以接受的数据格式、服务器返回的响应格式等。客户端向 GraphQL 发出的请求服务器称为查询。GraphQL 的另一个重要概念是其传输层不可知性。它可以与任何可用的网络协议一起使用,如 TCP、websocket 或任何其他传输层协议。它对数据库也是中立的,因此您可以将它与关系数据库或 NoSQL 数据库一起使用。
可以使用下面列出的三种方法中的任何一种来部署 GraphQL Server:
- 带有连接数据库的 GraphQL 服务器
- 集成现有系统的 GraphQL 服务器
- 【GraphQL 快速入门【3】GraphQL 架构】混合方法
集成连接数据库的 GraphQL 服务器这种架构有一个带有集成数据库的 GraphQL 服务器,通常可以用于新项目。收到查询后,服务器读取请求有效负载并从数据库中获取数据。这称为解析查询。返回给客户端的响应遵循官方 GraphQL 规范中指定的格式。
文章图片
在上图中,GraphQL 服务器和数据库集成在一个节点上。客户端(桌面/移动)通过 HTTP 与 GraphQL 服务器通信。服务器处理请求,从数据库中获取数据并将其返回给客户端。
GraphQL 服务器集成现有系统这种方法对于拥有遗留基础设施和不同 API 的公司很有帮助。GraphQL 可用于统一现有系统中的微服务、遗留基础设施和第三方 API。
文章图片
在上图中,GraphQL API 充当客户端和现有系统之间的接口。客户端应用程序与 GraphQL 服务器通信,后者反过来解析查询。
混合方法最后,我们可以将以上两种方式结合起来,搭建一个 GraphQL 服务器。在这种架构中,GraphQL 服务器将解析收到的任何请求。它将从连接的数据库或集成的 API 中检索数据。这如下图所示:
文章图片
推荐阅读
- typeScript入门基础介绍
- neo4j|neo4j cql语句 快速查询手册
- Android|Android sqlite3数据库入门系列
- Android下的IO库-Okio源码解析(一)|Android下的IO库-Okio源码解析(一) 入门
- 通过复盘快速成长(附模板)
- 深度学习-入门
- 第三章|第三章 进校园重拾旧梦 登讲台初为人师第一节 接乱班面临考验 ,遇高师指点入门
- iOS开发技术之美—iOS入门技术的基础学习
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- jar|springboot项目打成jar包和war包,并部署(快速打包部署)