期望结果:
- 通过输入http://127.0.0.1:8080/first,跳到哔哩哔哩主页。然后通过修改nacos的配置中心里面gateway的配置,使得再次输入地址,跳到百度主页
- 整合nacos和spring cloud gateway。使得spring cloud gateway能读取到naco的服务注册信息,通过这些服务注册信息进行分发。
yml依赖:
注意:Hoxton.SR4这个版本是需要添加spring-boot-starter-validation的,不然会报错的。其他版本不清楚会不会
bootstrap.yml配置:
java代码实现:
启动类:
nacos动态路由实现类:
整体实现:
- 因为实现了接口,所以项目启动的时候会触发方法。
- setApplicationContext: 监听节点的变化,如果节点变化就发送RefreshRoutesEvent事件。
- gateway收到RefreshRoutesEvent事件的话,就会触发getRouteDefinitions方法了(这里需要实现RouteDefinitionRepository接口,才会触发方法)
下面在下个图就是程序的走向。
yml的依赖:
application.yml配置文件:
代码实现:
由上面的gateway的配置来看,我们是没有给gateway配置路由信息的。这时候我们是要通过nacos的统一的配置中心来做个配置。
注意: 我们这个是通过读取json的方式,来做解析的,这里断言和过滤器的的配置方式需要是使用Fully Expanded Arguments
可以看会我之前的有一篇叫做Spring Cloud Gateway入门demo博文里面的断言和过滤器配置方式章节,地址如下:
Spring Cloud Gateway入门demo - 大笨象会跳舞 - 博客园
新增一个配置信息:
配置内容如下:
这个配置包括两个路由的信息
- 第一个路由first_route: 当输入127.0.0.1:8080/first_route 路径的时候会跳到https://www.bilibili.com/页面
- 第二个路由nacos-client: 当输入127.0.0.1:8080/nacos/say/**的路径的时候会跳到lb://nacos-client/**页面。
通过输入http://127.0.0.1:8080/first,跳到哔哩哔哩主页。然后通过修改nacos的配置中心里面gateway的配置,使得再次输入地址,跳到百度主页
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/20763.html