我们使用apisix做网关的话,主要的目的是直接在apisix上进行服务路由,我们希望客户端不直接访问到后台的微服务模块,而是直接访问网关,由网关进行路由转发,所以这里的话,我们就来使用apisix dashboard来配置网关路由。
首先我们打开apisix dashboard:
从上图可以看到左侧有很多菜单,我们目前只需要关心路由这个模块即可,点击路由的导航,进入到路由的模块:
接下来我们开始新建一个路由。具体案例如下:
一、准备微服务
这里我们使用千面的go-kratos编写的微服务,访问测试下:
这里我们准备了一个测试用的微服务,实现的目的是通过apisix来进行访问。
二、创建路由
在路由的界面上点击创建路由
1)设置路由基本信息
这里是创建路由的第一步,填写路由相关的信息:
一般我们要填写的内容主要由:
1、名称 2、路由版本 3、描述 4、匹配域名 5、路径
其他的参数几乎保持不变即可,如下图我填写的信息
2)设置上游信息
这里设置上游信息可以看做是在nginx上设置upstream。所以比较简单,主要填写的内容有:
1、选择上游服务(在服务模块添加的item,如果没有,则选择手动填写)
2、负载均衡算法(一般保持带权轮训即可) 3、上游类型:选择节点 (符合nginx upstream的特点) 4、填写目标节点(nginx upstream里面的ip,端口,weight) 5、重试次数(根据实际填写,一般填写1-3即可) 6、重试超时时间(根据实际填写,一般接口的请求我们认为5s内响应完是符合正常的,因为大部分都是毫秒级别返回)
这里我们填写的示例如下:
3)插件配置
这里插件配置主要是配置鉴权,限流等。
这里后面我们着重来介绍,所以这里不选择即可
4)预览
这里的预览就是把前面填写的内容给展示出来。
用来校对是否有填写有误的地方,核对检查之后直接点击提交即可。提交之后,可以看到列表中新增了一条我们刚创建的路由:
三、测试
前面我们访问go-kratos项目的时候使用的地址是:
http://localhost:8000/helloworld/aaaa
这里我们如果通过apisix进行访问的话,把localhost修改为对应的域名即可,端口修改为9080,示例如下:
http://www.test.com:9080/helloworld/zhangsan
访问效果图如下:
可以看到这里直接给请求到了后端的服务了。说明咱们创建的路由是成功的。
备注:
1、从上面的案例可看出apisix的docker容器里面对外暴露的http端口是9080,在生产环境可以直接把9080端口修改为80端口即可,这样直接通过域名进行访问,非常方便。
2、整体配置都是可视化的配置,非常的直观,虽然apisix提供了api的方式进行创建路由等,但是肯定是没有dashboard可视化配置直观的。
还没有评论,来说两句吧...