APISIX网关系列之Dashboard配置路由(二)
1.概述
APISIX作为系列介绍,将它所有的功能按照职责划分输出到每篇文章中。
上篇文章作为系列的开篇文章对APISIX进行了分析和安装介绍,查看详情地址:https://blog.csdn.net/m0_38039437/article/details/129175197
这篇文章主要介绍使用APISIX提供的Dashboard配置路由、服务、上游等内容。
2.Dashboard平台介绍
2.1.Dashboard面板
APISIX服务部署完成后,就可以通过http://127.0.0.1:9000/dashboard
地址访问Dashboard平台,账号和密码都是admin
2.2.APISIX 菜单介绍
上图是Dashboard平台的一个全景,它的功能简单紧凑,下面介绍下每个菜单的功能。
仪表板
:监测网关请求数据、ETCD数据等,同时还支持自定义监控对象的数据。
路由
:路由(Route)是请求的入口点,它定义了客户端请求与服务之间的匹配规则。路由可以与服务(Service)、上游(Upstream)关联,一个服务可对应一组路由,一个路由可以对应一个上游对象(一组后端服务节点),因此,每个匹配到路由的请求将被网关代理到路由绑定的上游服务中。
服务
:服务由路由中公共的插件配置、上游目标信息组合而成。服务与路由、上游关联,一个服务可对应一组上游节点、可被多条路由绑定。
上游
:上游列表包含了已创建的上游服务(即后端服务),可以对上游服务的多个目标节点进行负载均衡和健康检查。
插件
:APISIX内置了很多个插件,在这里可以为路由配置相应的插件实现高级功能。
证书
:证书被网关用于处理加密请求,它将与 SNI 关联,并与路由中主机名绑定。
3.Dashboard配置路由
3.1.配置仪表板
首次配置Dashboard
第一次启动Dashboard
仪表板为空,需要配置Grafana地址。该地址就是启动部署Grafana的地址,它的端口是3000。
例如,我在本机通过docker部署的APISIX,那么它的地址就是:http://127.0.0.1:3000
更改Dashboard
如果Dashboard
地址改变了,可以到系统设置中修改。
查看APISIX数据
APISIX默认配置好了APISIX健康对象,点击它可以直接查看数据。
3.2.配置网关
下面通过一个真实的项目例子介绍如何配置网关,配置网关会涉及到 路由、服务、上游 组件,他们直接的关联关系这里先做个铺垫介绍。
路由route
:通过路由定义规则来匹配客户端请求,根据匹配结果加载并执行相应的插件,最后把请求转发给到指定的上游应用。
服务Service
:是某类 API 的抽象(也可以理解为一组 Route 的抽象)。它通常与上游服务抽象是一一对应的,但与路由之间,通常是 1:N 即一对多的关系。
Service作为router路由和Upstream中间层,它的作用就是减少路由重复配置工作量,它是可有可无的。
这么说有些官方不好理解,下面通过一个例子了解Service。
需要service场景:
假如有三个路由ABC他们都要配置限流插件,而且他们访问同一个API微服务都部署在同一个Upstream上游节点主机。
1.首先创建一个Upstream,配置后端的API微服务。
2.创建一个Service,添加并配置限流插件策略和创建好的Upstream的ID
3.ABC三个路由配置时只要指定上面的Service即可,如果没有配置Service那么每个路由直接配置Upstream就要配置三遍,同时插件也要配置三次。有了Service作为路由和Upstream中间层,路由只需要配置一次就可以了。这个就是典型的路由与Service是 N:1关系,Service与Upstream是 1:1关系。
不需要service场景:
三个路由ABC访问不同的API微服务,且他们部署在不同的Upstream上,就不能使用Service,路由直接配置Upstream,路由与上游绑定映射关系实现路由访问微服务API。
上游Upstream
:上游的作用是按照配置规则对服务节点进行负载均衡,他的绑定对象可以是路由或者Service。
例如将多个提供相同服务的后端docker微服务地址配置到同一个Upstream,Upstream就能根据负载均衡策略将请求转发到不同地址的服务处理。
1.配置简单网关
项目资源
前端访问地址 | 后端服务访问地址 | 网关访问地址 |
---|---|---|
192.168.1.100 | 192.168.1.101:5000 | 192.168.1.102:9080 |
上面是我们配置网关的资源,下面就来配置下他的网关。实现前端访问后端用户模块登录系统。
【配置上游】
在Dashboard首页点击上游
菜单,点击创建,打开上游
配置页面。
- 名称:通常是机房+服务器命名
- 目标节点:用户服务服务的地址和端口号
其他的默认即可,点击下一步提交。
【配置服务】
在Dashboard
首页点击服务
菜单,点击创建,打开服务
配置页面。
- 名称:通常以后端一个微服务为单位,一个微服务对应一个服务配置。名称也建议与后端服务名称相同。
- 上游节点:选择配置好的上游节点
【配置路由】
在Dashboard
首页点击路由
菜单,点击创建,打开路由
配置页面。
- 名称:路由名称
- 标签:将同一个服务下的多个路由分为一组,方便管理。
- 绑定服务:选择上面创建的用户模块服务,路由和服务是N:1关系,因此只要是用户模块下所有路由都可以选择这个服务。
- 路径:路由转发到服务的规则
【配置前端路由】
当前面的网关都配置好了,一定要记住修改前端代码中配置的axios
请求后端地址,将它修改为请求网关地址192.168.1.102:9080
。文章来源:https://www.toymoban.com/news/detail-798830.html
打开浏览器访问前端的项目,点击登录。此时前端将请求发送到网关192.168.1.102:9080
网关根据配置路由规则将请求转发到后端服务192.168.1.101:5000
文章来源地址https://www.toymoban.com/news/detail-798830.html
到了这里,关于APISIX网关系列之Dashboard配置路由(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!