未验证 提交 d862b5dc 编写于 作者: E Eolink 提交者: GitHub

Update README.md

上级 9c410307
......@@ -8,7 +8,8 @@ Goku API Gateway (中文名:悟空 API 网关)是一个基于 Golang 开
- [为什么要使用Goku](#为什么要使用Goku "为什么要使用Goku")
- [产品特性](#产品特性 "产品特性")
- [快速安装](#快速安装 "快速安装")
- [产品截图](#产品截图 "产品截图")
- [产品部署](#产品部署 "产品部署")
- [企业支持](#企业支持 "企业支持")
- [关于我们](#关于我们 "关于我们")
- [授权协议](#授权协议 "授权协议")
......@@ -41,164 +42,55 @@ Goku API Gateway 的社区版本(CE)拥有完善的使用指南和二次开
- **Open API**:提供 API 对网关进行操作,便于集成。
- ...
# 快速安装
# 产品截图
* 【首页】
首页可以了解网关的基本信息,例如访问策略数、API数等,还可以了解请求和转发的情况,例如成功率等。
> 建议控制台与节点分别部署在不同的服务器上,一般一台服务器/虚拟机部署一个网关节点。
> 若要使用多个网关节点,需要将节点文件放置进多台服务器,并且在控制台新建多个节点。
> 此处网关控制台与节点的部署指南,点击查看:[源码编译教程](https://help.eolinker.com/#/tutorial/?groupID=c-350&productID=19 "源码编译")
![](http://data.eolinker.com/course/KBlc3QQ5860ea4a8dd0f550ae5f9ff68a1fa7c870e9366e)
### 环境准备
* **linux系统,内核版本 2.6.23+**
* **mysql ,版本 5.7+**
* **redis ,版本 3.0+**
* **net-tools**
* **golnag12.x**
* 【网关节点】
网关支持集群化管理,进入不同的集群可以管理相应的节点。
### 控制台安装
![](http://data.eolinker.com/course/wEa9yEI2bf086f3873b55bbdaec32f3b4ce1eb23dfe44ea)
1.安装:
```
mkdir -p {install dir}
mv console-{version}.tar.gz {tmp}/
cd {tmp}/
tar -xzf console-{version}.tar.gz
cd console-{version} && ./install.sh {install dir}
cd {install dir}
```
2.首次安装进入{install dir}/console/config文件夹,编辑配置文件内容,配置语法参照yaml
**goku.conf** 如下:
```
admin_bind: 绑定节点获取配置的地址,形如IP:Port,填写内网地址或本机地址
listen_port: 管理后台监听端口,可以开放给外网访问
db_host: 数据库Host
db_port: 数据库监听端口
db_name: 数据库名称
db_user: 登录数据库的用户名
db_password: 登录数据库的密码
```
**cluster.yaml** 配置示例如下:
```
cluster:
-
name: "GZ" # 机房主键,具有唯一性,仅支持英文(不区分大小写)、下划线、数字
title: "广州机房" # 机房名称,具有唯一性,用于控制台显示集群名称,支持中文、英文(不区分大小写)、下划线、数字
note: "从机房" # 机房备注,支持中文、英文(不区分大小写)、下划线、数字
db:
driver: "mysql" # 数据库类型,可选项:mysql
host: "127.0.0.1" # 数据库主机地址
port: 3306 # 数据库端口号
userName: "root" # 用户名
password: "123456" # 数据库密码
database: "goku_ce" # 数据库名称
redis:
mode: "cluster" # redis模式,可选项:stand/cluster
addrs: "127.0.0.1:6379,127.0.0.1:6380" # 多个地址间用英文逗号隔开
password: "123456" # redis密码
dbIndex: 0 # redis序号,非必填,默认值为0
masters: mymaster # 当mode为sentinel时,该选项必填
-
name: "BJ"
title: "北京机房"
note: "主机房"
db:
driver: "mysql"
host: "127.0.0.1"
port: 3306
userName: "root"
password: "123456"
database: "goku_ce"
redis:
mode: "stand"
addrs: "127.0.0.1:6379" # stand、cluster模式下addrs为redis地址,多个地址间用英文逗号隔开
password: "123456"
dbIndex: 0
```
* 【服务注册方式】
您可以通过静态或动态的方式来注册(发现)您的后端服务,创建好服务注册方式后,您可以在某个方式的基础上创建一个或多个负载(Upstream)。
3.初次安装创建数据库goku_ce,并运行{install dir}/console/sql文件夹下的goku_ce.sql,执行数据库脚本:
```
mysql -u用户名 -p密码 {install dir}/console/sql/goku_ce.sql
```
4.进入{install dir}/console文件夹,运行run.sh文件以启动控制台
**首次运行**
```
.run.sh start {config file} 管理员账号 管理员密码
```
![](http://data.eolinker.com/course/1elb5mF4d3fd6141919001293e0119557b3d5ef0cea0719)
示例:
```
.run.sh start config/goku.conf admin 123456
```
* 【负载配置】
配置API的转发目标服务器(负载后端),创建之后可以设置为 API 的转发地址 / 负载后端(Target / Upstream)。
**非首次运行**
```
.run.sh start|restart
```
![](http://data.eolinker.com/course/4tHYXR23abc26b914ca763aac4871ed9d60a3aeb819941f)
5.在浏览器输入服务器IP+程序监听端口号,进入管理后台页面
* 【接口管理】
支持创建并管理API文档,并且支持导入API文档项目。
注:程序监听端口号为goku.conf的配置项listen_port的值
![](http://data.eolinker.com/course/WlTJ2kB1cd03ddf839ea1d489890a0bd5b0572efeff6043)
![](http://data.eolinker.com/course/nh4Xc8v24059c115375a87de682a0990ba723916923196f)
* 【访问策略】
您可以给不同的调用方或应用设置访问策略,不同的访问策略可以设置不同的 API 访问权限、鉴权方式以及插件功能等。
至此控制台已安装完成,在控制台新建节点后,需要通过命令行启动节点。
![](http://data.eolinker.com/course/fUrHmVd0d2d88b7f72d985b0e93e434ed528648d2dd34db)
* 【告警设置】
针对异常API可以设置告警提醒,支持邮件和Webhook通知。
### 节点安装
![](http://data.eolinker.com/course/9eQ3Lmv64e5cedc1ad4745dfa2895f6657441d874f6c7f4)
1.安装:
```
mkdir -p {install dir}
mv goku-node-{version}.tar.gz {tmp}/
cd {tmp}/
tar -xzf goku-node-{version}.tar.gz
cd goku-node-{version} && ./install.sh {install dir}
cd {install dir}
```
2.在管理后台新建节点
(1)登录控制台,点击一级导航的 **集群管理**,进入相应的集群:
![](http://data.eolinker.com/course/Wi3hSZzece73986c4714431437a678ffe5ba86c2e21cc54)
(2)为不同集群 **添加节点**
![](http://data.eolinker.com/course/rlWf1dI806427cc64c4b73af34dba35a758a4d9f21e86fc)
(3)点击 **新增节点** 按钮,填写节点信息后点击 **确定**
>(a)新建节点时的节点IP字段填写内网IP或本地IP
>(b)若配置文件(goku.conf)中的admin_bind字段值IP部分为127.0.0.1或localhost,此处节点IP必须填写127.0.0.1
![](http://data.eolinker.com/course/S2Zjkdi511ae476f039aa53059e26a8b675458fb29841fc)
3.启动节点程序:
```
{install dir}/run.sh {start|stop|reload|restart|force-reload} [admin url] [port]
```
此处的admin url值与配置文件(goku.conf)中的admin_bind字段值一致。
示例:
```
{install dir}/run.sh start 127.0.0.1:7005 7702
```
* 【扩展插件】
插件系统除了提供官方插件,也可以添加自定义的网关插件。
4.检查节点是否正常运行:
![](http://data.eolinker.com/course/sQhUflpcebf65dc43cb7e2e838e8d1ecf3e52e9a5a6c566)
进入节点管理页面,若节点的状态显示为运行中,则节点正常启动:
* 【日志设置】
提供详细的请求日志和系统运行日志,请求日志可以自定义记录字段;运行日志可以根据情况调整记录等级:ERROR、INFO、DEBUG等。
![](http://data.eolinker.com/course/WelR3FK9bbf28e791f4f6450bc4b7992efe0f73afec4845)
![](http://data.eolinker.com/course/iyifFJ2809fe63e27df709ddc1a22f94d983c5ecbf8cc29)
# 产品部署
* [部署教程](https://help.eolinker.com/#/tutorial/?groupID=c-351&productID=19 "部署教程")
* [源码编译教程](https://help.eolinker.com/#/tutorial/?groupID=c-350&productID=19 "源码编译")
# 企业支持
Goku API Gateway EE(企业版本)拥有更强大的功能、插件库以及专业的技术支持服务,如您需要了解可以通过以下方式联系我们。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册