安装 apisix
1. 安装 docker-desktop
推荐文章:非常详细的描述了安装过程以及出现问题后的处理办法https://docker.easydoc.net/doc/81170005/cCewZWoN/lTKfePfP
2. 启动 docker
- 国内镜像加速
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com",
"https://ung2thfc.mirror.aliyuncs.com"
]
3.安装apisix
官方文档:https://apisix.apache.org/zh/docs/apisix/getting-started/
windows 下安装只需要执行这两步即可(注意第二条命令是需要在 apisix-docker/example 目录下执行)
git clone https://github.com/apache/apisix-docker.git
docker-compose -p docker-apisix up -d
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LnBfPC7V-1666871756325)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/03630052e9ff40ea8b60aa6b915ea1cb~tplv-k3u1fbpfcp-watermark.image?)]
不清楚是不是网络原因,我最终是执行了多次 docker-compose -p docker-apisix up -d 才最终安装成功
成功后显示如下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n46LJuUH-1666871756327)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c2a9b027aacf4ebb99ffd9ccdac7f0dd~tplv-k3u1fbpfcp-watermark.image?)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xyZ6Hs6Q-1666871756327)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/20eb81a7e9514af98fd340f0887d572d~tplv-k3u1fbpfcp-watermark.image?)]
转发测试
1.登录管理平台
访问 localhost:9000 即可访问 apisix 的可视化管理平台
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vW0pauXj-1666871756328)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/557c69aec126461694309a67bbca07f6~tplv-k3u1fbpfcp-watermark.image?)]
2.启动一个后端服务
实现方式无所谓,例如我们在本机上暴露了一个java接口,localhost:8080/test
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MDkIgMX1-1666871756329)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/89b8915b8a844a60b73997126519188c~tplv-k3u1fbpfcp-watermark.image?)]
3.创建一个上游
Upstream 也称为上游,上游是对虚拟主机的抽象,即应用层服务或节点的抽象。
上游的作用是按照配置规则对服务节点进行负载均衡,它的地址信息可以直接配置到路由或服务上。当多个路由或服务引用同一个上游时,可以通过创建上游对象,在路由或服务中使用上游的 ID 方式引用上游,减轻维护压力。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u4qgOWia-1666871756329)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/87df3fb4d5384619a37d2525e21392d7~tplv-k3u1fbpfcp-watermark.image?)]
主机名这里填写的是本机ip,填localhost会报502,有大佬可以给我解释下为啥
4.创建路由
Route 也称为路由,是 APISIX 中最基础和最核心的资源对象。
APISIX 可以通过路由定义规则来匹配客户端请求,根据匹配结果加载并执行相应的插件,最后把请求转发给到指定的上游服务。路由中主要包含三部分内容:匹配规则、插件配置和上游信息。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-epOp8ZlT-1666871756330)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/1cb12be1278f47ffa482d5bfb80f72a1~tplv-k3u1fbpfcp-watermark.image?)]
上游就选择我们刚创建的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9UoHgpvr-1666871756331)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a684a575cf0b4005bc7a452b691675ff~tplv-k3u1fbpfcp-watermark.image?)]
插件就不选了,直接下一步
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vUZG49Jz-1666871756331)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f67eb79e545a4773aa6f8df8d7db76d1~tplv-k3u1fbpfcp-watermark.image?)]
5.测试
然后我们根据apisix配置的网关端口号
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hD03EqEG-1666871756332)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/396c7c5a40504708ac512a7ae03f07d7~tplv-k3u1fbpfcp-watermark.image?)]
访问 localhost:9080/test 转发成功
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YYuaYa9b-1666871756333)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/72f7e168848d466291848ee0bda018e1~tplv-k3u1fbpfcp-watermark.image?)]