7-SpringCloud-服务网关 Gateway-高级特性 Route
1.6.2.4 Gateway 高级特性之 Route 路由
在上述配置文件 application.yml 文件中的 URL 存在硬编码的问题,下面将以微服务名动态获取服务 URL。

具体配置操作如下所示。
-
首先更具官网查看如何以 Route 服务名动态获取服务URL,具体信息请查看官方网址https://docs.spring.io/spring-cloud-gateway/reference/spring-cloud-gateway-server-webflux/global-filters.html。

-
修改网关服务9527的配置文件 application.yml 文件。具体配置信息如下所示。
server:port: 9527spring:application:name: cloud-gatewaycloud:consul:host: localhostport: 8500discovery:prefer-ip-address: trueservice-name: ${spring.application.name}gateway:routes:- id: pay_routh1 #pay_routh1 #路由的ID(类似mysql主键ID),没有固定规则但要求唯一,建议配合服务名 # uri: http://localhost:8001 #匹配后提供服务的路由地址uri: lb://cloud-payment-servicepredicates:- Path=/pay/gateway/get/** # 断言,路径相匹配的进行路由- id: pay_routh2 #pay_routh2 #路由的ID(类似mysql主键ID),没有固定规则但要求唯一,建议配合服务名 # uri: http://localhost:8001 #匹配后提供服务的路由地址uri: lb://cloud-payment-servicepredicates:- Path=/pay/gateway/info/** # 断言,路径相匹配的进行路由 -
测试,启动9527、8001、80服务和 Zipkin 工具,然后再浏览器输入网址http://localhost/feign/pay/gateway/get/1。如出现下图所示的信息,及设置成功。

再次测试,将服务名8001的端口后修改为8007,重新启动服务8001再次测试网址http://localhost/feign/pay/gateway/get/1,如输出如下信息则表示测试成功。最后将端口号修改为8001。

Route 路由以微服务名修改服务动态 URL,修改成功。
上一篇 6-SpringCloud-服务网关 Gateway理论基础
下一篇 8-SpringCloud-服务网关 Gateway-高级特性Predicate
