Gateway动态路由实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gateway动态路由实现相关的知识,希望对你有一定的参考价值。

参考技术A

无论是哪一种,在启动网关后将无法修改路由配置,如有新服务要上线,则需要先把网关下线,修改 yml 配置后,再重启网关。

Gateway网关启动时,路由信息默认会加载内存中,路由信息被封装到 RouteDefinition 对象中,配置多个RouteDefinition组成Gateway的路由系统。

*RouteDefinitionLocator是个接口,在org.springframework.cloud.gateway.route包下,如果想查看网关中所有的路由信息,可以调用此方法;后面还有另外一种查看方式,是Spring Cloud Gateway 的Endpoint端点提供的方法

Endpoint 端点有暴露路由信息、获取所有路由、刷新路由、查看单个路由、删除路由等方法,源码在 org.springframework.cloud.gateway.actuate.GatewayControllerEndpoint 中,访问端点中的方法需要修改pom和配置文件:
*添加pom文件依赖:

*yml配置

准备:
* Spring Cloud:Greenwich.SR1
* Spring Boot: 2.1.1.RELEASE
* 注册中心(Consul)
* 网关Gateway
* 业务服务(ijep-service-sys)

*过滤器模型

*路由断言模型

*路由模型

查询所有的路由地址信息,访问地址: http://localhost:9000/actuator/gateway/routes

项目地址: 无权访问

以上是关于Gateway动态路由实现的主要内容,如果未能解决你的问题,请参考以下文章

Nacos + Gateway 实现动态刷新路由

Nacos + Gateway 实现动态刷新路由

Gateway动态路由实现

Spring Gateway集成nacos实现动态路由配置

Spring Cloud Gateway的动态路由实现

OCP开源项目:Spring Cloud Gateway模块中动态路由的实现