系统概览和架构 - AWS AppSync
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

系统概览和架构

AWS AppSync 允许开发人员通过使用托管 GraphQL 服务与数据进行交互。与传统网关相比,GraphQL 具有许多优势,它鼓励可指定的编码风格,可与多种新式工具和框架顺畅配合,包括 React、React Native、iOS 和 Android。

架构

概念

GraphQL 代理

运行 GraphQL 引擎,处理请求并将它们映射到逻辑函数,以便进行数据操作或触发的组件。数据解析过程针对您的数据源执行批处理操作(称为数据加载程序)。此组件还管理冲突检测和解析策略。

操作

AWS AppSync 支持三种 GraphQL 操作:查询(只读提取)、更改(提取后写入)和订阅(响应事件并接收数据的长期请求)。

操作

AWS AppSync 定义了一种动作。该动作是向连接的订阅者发送通知,这是更改的结果。GraphQL 订阅之后进行握手过程,客户端即可成为订阅者。

数据源

持久性存储系统或触发器,以及访问该系统或触发器的凭证。您的应用程序状态由数据源中定义的系统或触发器进行管理。数据源示例包括 NoSQL 数据库、关系数据库、AWS Lambda 函数和 HTTP API。

解析程序

将 GraphQL 负载转换为底层存储系统协议并进行执行(如果调用者已获得授权)的函数。解析程序由请求和响应映射模板组成,这些模板中包含转换和执行逻辑。

单元解析程序

单元解析程序是针对预定义的数据源执行单一操作的解析程序。

管道解析程序

管道解析程序是允许对一个或多个数据源执行多个操作的解析程序。管道解析程序由一系列函数组成。每个函数按顺序执行,并且可以针对预定义的数据源执行单个操作。

功能

函数定义可跨管道解析程序使用的单一操作。可以重用函数以在整个 GraphQL 代理中执行冗余逻辑。函数由请求和响应映射模板、数据源名称和版本组成。

求同

调用者的表示形式,以一组凭证为基础,这些凭证必须随每个请求发送给 GraphQL 代理。它包括调用解析程序的权限。身份信息还会作为上下文传递给解析程序和冲突处理程序,以执行额外的检查。

AWS AppSync 客户端

定义 GraphQL 操作的位置。客户端在将请求提交给 GraphQL 代理之前,会对请求语句执行适当的授权包装。响应保留在离线存储中,更改是以直接写入的模式进行的。