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 文件。具体配置信息如下所示。

    yml 复制代码
    server:
      port: 9527
    
    spring:
      application:
        name: cloud-gateway
      cloud:
        consul:
          host: localhost
          port: 8500
          discovery:
            prefer-ip-address: true
            service-name: ${spring.application.name}
        gateway:
          routes:
            - id: pay_routh1 #pay_routh1                #路由的ID(类似mysql主键ID),没有固定规则但要求唯一,建议配合服务名
    #          uri: http://localhost:8001                #匹配后提供服务的路由地址
              uri: lb://cloud-payment-service
              predicates:
                - Path=/pay/gateway/get/**              # 断言,路径相匹配的进行路由
    
    
            - id: pay_routh2 #pay_routh2                #路由的ID(类似mysql主键ID),没有固定规则但要求唯一,建议配合服务名
    #          uri: http://localhost:8001                #匹配后提供服务的路由地址
              uri: lb://cloud-payment-service
              predicates:
                - 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

相关推荐
ruleslol6 小时前
SpringCloud03-Eureka02-搭建Eureka服务
spring cloud·eureka
小池先生7 小时前
Gradle vs Maven 详细对比
java·maven
q***23927 小时前
基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战
java·spring boot·spring
q***78787 小时前
Spring Boot的项目结构
java·spring boot·后端
q***96587 小时前
Spring Data JDBC 详解
java·数据库·spring
Kuo-Teng7 小时前
LeetCode 118: Pascal‘s Triangle
java·算法·leetcode·职场和发展·动态规划
倚肆8 小时前
HttpServletResponse 与 ResponseEntity 详解
java·后端·spring
悟能不能悟8 小时前
java List怎么转换为Vector
java·windows·list
yaoxin5211238 小时前
241. Java 集合 - 使用 Collections 工厂类处理集合
java·windows
依_旧8 小时前
【玩转全栈】----Django基本配置和介绍
java·后端