【开源 API 网关】Apinto 快速入门教程【Go 语言开发】
创始人
2024-06-03 03:12:46
0

使用步骤

1、创建服务

2、绑定路由

流程示意图如下:


详细步骤说明

Apinto 支持以下方式进行网关配置:

  • openAPI:可在网关使用过程中动态配置网关信息,包括路由、服务、负载均衡、鉴权、服务发现等。

程序配置说明

文件名:apinto.yml 存放路径:/etc/apinto/ 作用:Apinto 运行配置文件,配置日志输出目录等相关信息

示例配置:

# 数据文件放置目录
data_dir: /var/lib/apinto# pid文件放置地址
pid_dir: /var/run/apinto/# 日志放置目录
log_dir: /var/log/apinto# socket放置目录
socket_dir: /tmp/apinto# apinto运行配置地址
config: config.yml# 扩展仓库目录
extends_dir: /var/lib/apinto/extenders/# 错误日志文件名
error_log_name:  error.log# 错误日志等级
error_log_level: error# 错误日志过期时间,默认单位为天,d|天,h|小时
error_log_expire: 7d# 错误日志切割周期,仅支持day、hour
error_log_period: day

文件名:config.yml 存放路径:/etc/apinto/ 作用:指定节点的路由监听端口,ssl证书等信息

程序启动前需要配置与程序相同目录下的文件 config.yml,用于指定节点的路由监听端口,ssl 证书等信息。

version: 2
#certificate: # 证书存放根目录
#  dir: /etc/apinto/cert
client:#advertise_urls: # open api 服务的广播地址#- http://127.0.0.1:9400listen_urls: # open api 服务的监听地址- http://0.0.0.0:9400#certificate:  # 证书配置,允许使用ip的自签证书#  - cert: server.pem#    key: server.key
gateway:#advertise_urls: # 转发服务的广播地址#- http://127.0.0.1:9400listen_urls: # 转发服务的监听地址- https://0.0.0.0:8099- http://0.0.0.0:8099
peer: # 集群间节点通信配置信息listen_urls: # 节点监听地址- http://0.0.0.0:9401#advertise_urls: # 节点通信广播地址# - http://127.0.0.1:9400#certificate:  # 证书配置,允许使用ip的自签证书#  - cert: server.pem#    key: server.key


 

启动程序

1. 安装网关:

./install.sh install

执行该步骤将会生成配置文件 /etc/apinto/apinto.yml 和 /etc/apinto/config.yml,可根据需要修改。

2. 启动网关

apinto start

使用 openAPI 配置网关

在程序启动后,我们可以通过 openAPI 动态配置网关信息

创建服务

以访问 Apinto 官方示例接口为例, 将返回请求的相关信息。

curl -X POST http://127.0.0.1:9400/api/service \
-H "Content-type: application/json" \
-d '{"name": "apintoapi","driver": "http","description": "访问官方示例接口","timeout": 3000,"retry": 3,"scheme": "http","nodes": ["demo.apinto.com:8280"],"balance": "round-robin"
}'

创建路由,并且服务 id 绑定路由

将第1步返回的 id 值填入到路由配置的 target 中,如上例中的 id 为 apintoapi@service

curl -X POST http://127.0.0.1:9400/api/router \
-H "Content-type: application/json" \
-d '{"name": "apintoapi","driver": "http","description": "路由示例","listen": 8099,"rules": [{"location": "/demo"}],"target": "apintoapi@service"
}'

注意:路由配置的 listen 必须在 config.yml 中的路由监听端口列表中存在。

至此,带有路由的服务转发配置完成

访问服务

curl 'http://127.0.0.1:8099/demo'

返回结果

{"body":"","header":{"Accept":["*/*"],"User-Agent":["curl/7.75.0"],"X-Forwarded-For":["127.0.0.1,127.0.0.1"]},"host":"127.0.0.1:8099","method":"GET","path":"/demo","query":{},"url":"/demo"
}

GitHub 地址:https://github.com/eolinker/apinto

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...