Goku项目自2022年1月14日起,正式改名为Apinto,文章或图片提到的Goku字样实际是和Apinto同属一个项目。
Apinto网关的部署提供了以下两种安装方式:通过安装包安装、源码编译安装。
Apinto网关的安装非常简单,使用安装包安装的方式,从下载到安装成功仅仅只要几秒钟。而启动也仅需一条命令,可以指定各种运行参数,包括网关的http和https监听端口、ssl证书文件及配置文件的路径。若不填写任何运行参数则默认网关http监听8081端口。值得一提的是,后续我们将会支持更多种安装方式,包括一键部署脚本,Docker和k8s。用户可以根据需求来选择合适自己的安装方式。
讲完安装部署,接下来就是网关的使用。假设goku网关的域名及端口为127.0.0.1:8081。现在有一个使用场景,我想通过请求路径为goto_goku的http请求访问网关的8080端口后会将请求转发给gokuapi.com。这是一个简单的转发过程。当一个请求到达网关后,网关会解析这个请求并进行转发。
而goku网关快速进行转发只需要配置路由及服务。通俗一点讲,在goku网关,服务可以理解为一组API的集合,而路由则是网关通过什么样的条件才能匹配到某一个服务。那么网关应该怎样配置呢?首先需要创建一个demo服务,服务的转发地址设置为goku官网,创建后会返回demo服务id,然后再创建路由,匹配路径设置为goto_goku,最后将服务id绑定至路由。
配置有两种方式,一种是通过yaml文件配置,在网关启动时会读取文件内的配置。另一种是直接调用openAPI来配置,为了方便演示,这里用yaml文件来演示如何配置路由及服务。
首先我们需要创建一个服务,这里我们将服务命名为demo_service,并且配置该服务接收请求的协议、转发目标、超时时间、重试次数、转发方法等。目前我们配置的demo_service会将接收到的请求以get方式转发到gokuapi.com,并且如果请求超过3000毫秒会自动重试2次。
接下来配置了一个路由来监听请求,比如这里我们设置了一个路由监听8080端口,当有路径为goto_goku的http请求过来时,将数据转发给刚才配置好的demo_service服务。
刚刚演示了如何快速用网关进行简单的转发,除此之外我们可以给路由和服务增加许多额外的功能,比如使用注册中心来代替静态的转发目标,或者是给服务设置鉴权来保证服务的安全。更多的功能可以访问我们的帮助中心,或者在我们的qq群或slack群发表疑问。