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

相关推荐
Boop_wu16 小时前
[Java EE] 网络原理(1)
java·网络·java-ee
Sunsets_Red16 小时前
二项式定理
java·c++·python·算法·数学建模·c#
Mcband16 小时前
【Spring Boot】Interceptor的原理、配置、顺序控制及与Filter的关键区别
java·spring boot·后端
qq_4798754316 小时前
std::true_type {}
java·linux·服务器
qq_3482318516 小时前
Spring Boot 体系核心全解
java·spring boot·后端
不会玩电脑的Xin.16 小时前
Spring框架入门:IOC与AOP实战
java·后端·spring
Arva .16 小时前
读写锁 (ReadWriteLock)
java·开发语言
摇滚侠16 小时前
2025最新 SpringCloud 教程,接口测试,本地事务,打通链路,笔记65,笔记66,笔记67
笔记·spring·spring cloud
毕设源码-郭学长16 小时前
【开题答辩全过程】以 基于java的校园安全管理系统为例,包含答辩的问题和答案
java·开发语言