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

相关推荐
xuxie9942 分钟前
N11 ARM-irq
java·开发语言
cjy0001111 小时前
springboot的 nacos 配置获取不到导致启动失败及日志不输出问题
java·spring boot·后端
wefly20171 小时前
从使用到原理,深度解析m3u8live.cn—— 基于 HLS.js 的 M3U8 在线播放器实现
java·开发语言·前端·javascript·ecmascript·php·m3u8
zhenxin01221 小时前
Spring Boot实现定时任务
java
小江的记录本2 小时前
【事务】Spring Framework核心——事务管理:ACID特性、隔离级别、传播行为、@Transactional底层原理、失效场景
java·数据库·分布式·后端·sql·spring·面试
sheji34162 小时前
【开题答辩全过程】以 基于springboot的校园失物招领系统为例,包含答辩的问题和答案
java·spring boot·后端
寂静or沉默2 小时前
2026最新Java岗位从P5-P7的成长面试进阶资源分享!
java·开发语言·面试
卓怡学长2 小时前
m289在线交友系统
java·spring·tomcat·maven·intellij-idea·hibernate
zhglhy3 小时前
Java分库分表技术对比分析
java·分库分表
wuyikeer3 小时前
Spring Framework 中文官方文档
java·后端·spring