热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

APISIX网关系列之Dashboard配置路由(二)

APISIX网关系列之Dashboard配置路由(二)1.概述APISIX作为系列介绍,将它所有的功能按照职责划分输出到每篇文章中。上篇文章作为系列的开篇文章对A

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.100192.168.1.101:5000192.168.1.102:9080

上面是我们配置网关的资源,下面就来配置下他的网关。实现前端访问后端用户模块登录系统。

【配置上游】
在Dashboard首页点击上游菜单,点击创建,打开上游配置页面。

  • 名称:通常是机房+服务器命名
  • 目标节点:用户服务服务的地址和端口号
    其他的默认即可,点击下一步提交。

在这里插入图片描述
【配置服务】
Dashboard首页点击服务菜单,点击创建,打开服务配置页面。

  • 名称:通常以后端一个微服务为单位,一个微服务对应一个服务配置。名称也建议与后端服务名称相同。
  • 上游节点:选择配置好的上游节点
    在这里插入图片描述

【配置路由】
Dashboard首页点击路由菜单,点击创建,打开路由配置页面。

  • 名称:路由名称
  • 标签:将同一个服务下的多个路由分为一组,方便管理。
  • 绑定服务:选择上面创建的用户模块服务,路由和服务是N:1关系,因此只要是用户模块下所有路由都可以选择这个服务。
  • 路径:路由转发到服务的规则

在这里插入图片描述【配置前端路由】
当前面的网关都配置好了,一定要记住修改前端代码中配置的axios请求后端地址,将它修改为请求网关地址192.168.1.102:9080

打开浏览器访问前端的项目,点击登录。此时前端将请求发送到网关192.168.1.102:9080
网关根据配置路由规则将请求转发到后端服务192.168.1.101:5000






推荐阅读
author-avatar
手机用户2602931131
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有