一、网关的基本介绍
网关(Gateway)是一种网络设备或软件,用于连接不同协议或不同体系结构的网络,使它们能够相互通信和共享资源。 网关在网络层以上实现网络互连,是复杂的网络互连设备,主要用于两个高层协议不同的网络互连。
网关的主要功能包括协议转换、数据格式转换和安全控制。它可以将不同协议的数据包进行转换,使得数据能够在不同的网络之间传输。此外,网关还可以提供安全控制功能,如数据加密、过滤和认证等,确保数据的安全性和完整性。
Gateway网关是我们服务的守门神,所有微服务的统一入口。
二、使用网关(以micro_server为例)
首先创建gateway服务springboot项目,引入依赖
在项目pom文件中添加依赖,代码如下
<!--网关-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!--nacos服务发现依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
编写启动类
然后将gateway注册到nacos
详细启动步骤可以参考我的上一篇文章:https://blog.youkuaiyun.com/qianz_w/article/details/142875863
启动成功页面如下
编写基础配置和路由规则
将符合Path
规则的一切请求,都代理到 uri
参数指定的地址。
本例中,将/gw/consumer/**开头的请求,代理到 http://localhost:8084/,
在浏览器中输入http://localhost:8084/gw/consumer/hello测试是否成功代理
测试结果
最后再测试provider类
路由规则和配置
将uri的参数地址进行限制
在gateway项目下的yml配置文件中添加限制配置,如下图所示
在项目启动前设置一些限定参数
路由测试
快速刷新网页,会显示以下信息