长沙房价走势最新消息seo案例分析方案
🎈 作者:Linux猿
🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!
🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬
目录
一、准备工作
1.1 下载代码
1.2 运行代码
二、集成 gateway
2.1 修改 pom.xml
2.2 创建服务 gateway、ServiceOne、ServiceTwo
2.3 在 nacos 配置
三、运行
本篇文章主要介绍集成 gateway 和 nacos,实现动态路由配置,即:通过 nacos 配置动态路由。
一、准备工作
1.1 下载代码
在之前的文章中我们已经集成了 nacos,本篇文章使用之前集成的代码,再集成 gateway 实例,先将之前的代码克隆下来,然后运行测试一下。
$ git clone https://gitee.com/linux-ape/spring-cloud-demo.git
上面是通过 git 工具下载代码,然后切换分支到 nacos 上,如下所示。
git checkout -b gateway1.1 remotes/origin/SpringCloudNacos
1.2 运行代码
代码结构如下所示。

通过 IDEA 运行,运行结果如下。

二、集成 gateway
2.1 修改 pom.xml
首先修改父模块 pom.xml 文件,文件内容如下所示。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name><packaging>pom</packaging><description>demo</description><modules><module>gateway</module></modules><properties><java.version>1.8</java.version></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.3.2.RELEASE</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.1.0.RELEASE</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Hoxton.SR8</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement></project>
重点是添加 dependencyManagement 管理依赖。
2.2 创建服务 gateway、ServiceOne、ServiceTwo
(1)删除 src 目录,保留 pom.xml 文件,pom.xml 文件用于管理依赖,删除后代码结构如下。

(2)创建 gateway 服务
创建 gateway 服务后,修改 pom.xml 文件如下所示。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent> <!-- 与父模块关联 --><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>gateway</artifactId><description>gateway</description><dependencies> <!-- 修改依赖 --><!-- nacos 依赖 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!-- gateway 依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies>
</project>
重命名 application.properties 文件为 bootstrap.yml,文件内容如下所示。
server:port: 8090
spring:application:name: gatewaycloud:nacos:discovery:server-addr: localhost:8848locator:lower-case-service-id: trueconfig:# nacos 配置服务的地址,后面的端口不能省,即使是80端口server-addr: localhost:8848# 加载 dataid 配置文件的后缀,默认是 propertiesfile-extension: yml# 配置组,默认就是 DEFAULT_GROUPgroup: DEFAULT_GROUP# 配置命名空间,此处写的是 命名空间的id 的值,默认是 public 命名空间# namespace:# data-id 的前缀,默认就是 spring.application.name 的值prefix: ${spring.application.name}
同理也按照此方法创建 ServiceOne 和 ServiceTwo 服务,ServiceOne 和 ServiceTwo 用于测试 gateway 的动态路由配置。
2.3 在 nacos 配置
配置管理 -> 配置列表 中点击最右边的 + 号,新建配置,如下所示。

三、运行
在浏览器中输入 localhost:8090/service1/index1,运行如下所示。

在浏览器中输入 localhost:8090/service2/index2,运行如下所示。

参考链接:
通过Nacos动态刷新Spring Cloud Gateway的路由_51CTO博客_spring cloud gateway nacos动态路由
🎈 感觉有帮助记得「一键三连」支持下哦!有问题可在评论区留言💬,感谢大家的一路支持!🤞猿哥将持续输出「优质文章」回馈大家!🤞🌹🌹🌹🌹🌹🌹🤞