Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Eolink
goku-api-gateway
提交
d862b5dc
G
goku-api-gateway
项目概览
Eolink
/
goku-api-gateway
上一次同步 1 年多
通知
133
Star
2992
Fork
611
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
goku-api-gateway
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
未验证
提交
d862b5dc
编写于
9月 24, 2019
作者:
E
Eolink
提交者:
GitHub
9月 24, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update README.md
上级
9c410307
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
33 addition
and
141 deletion
+33
-141
README.md
README.md
+33
-141
未找到文件。
README.md
浏览文件 @
d862b5dc
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录