Skip to main content

APISIX与上游测试服务器

· 4 min read
CheverJohn

明天就是新春佳节了,已经鸽了两天的博客了,不能再继续下去咯!!! 然后祝大家新春快乐哈!

本次博客记录的是我使用 Apache APISIX 中的 GraphQL 特性时,遇到的新手级尴尬问题,淦!主要还是基础网络工具不会用。文章主要围绕两个点:一是 curl 命令工具的使用总结,二是 OpenResty 建立测试服务器的方法(以后还是要单独开张帖子,把 OpenResty,也可以说是 NGINX 的奇淫巧技都梳理一遍)

好吧又得鸽一天,看春晚去咯!:)

春节过完咯,开始肝!

教训妹妹的一晚!

完成文章的抽象部分内容 > 实操部分内容

前言

正如引言中所讲的,本篇博文主要是为了记录我使用 Apache APISIX 的 GraphQL 特性的过程。其中获得了一些对 Apache APISIX,亦或者说是 OpenResty,亦或者说是 NGINX 的最新感悟。首先我先以一张图缕清我所要做的事情的逻辑吧。

GraphQL流量在Apache_APISIX里的轨迹

当然上图这一层面还是太保守了,如果我们有多个 GraphQL Server 呢?其实 Apache APISIX 还具备根据搜索项的参数更精细化的匹配 GraphQL Server (多亏泽轩大佬跟我讲了)。那我们换一个场景。

根据三个参数更加精细化

graphql_operation
graphql_name
graphql_root_fields

逻辑图如下

GraphQL流量在Apache_APISIX里的轨迹_三个参数实现更精细化操作

以上是抽象层面的逻辑图,

部署配置

这一篇你可以搭配这两篇博客来看:

问题解决:跑通 GraphQL》: 这一篇介绍了我第一次跑通的情形,里边有我在虚拟机中的Centos7中实操的记录。

Support GraphQL In APISIX》: 主要讲了 GraphQL 在 APISIX 里的地位是什么样子的。

基础命令_graphql在APISIX中的应用

部署配置的架构图应如下所示:

GraphQL在centos中的具体部署方案

这边我们依靠了 OpenResty 搭建了两台 GraphQL Server 上游(Upstream)服务器。并使用命令配置 Apache APISIX的路由匹配规则。这样我们接下来发出 GraphQL 请求的时候,便可以有上游服务器进行响应了。