SpringCloud学习-part34 Gateway配置动态路由

本文介绍如何使用Spring Cloud Gateway结合Eureka实现基于微服务名的动态路由。通过配置YML文件,Gateway能自动从注册中心获取服务列表并创建路由,支持负载均衡。文章详细解释了lb缩写含义及如何配置Path断言来实现不同路径的路由。

基本原理

默认情况下Gateway会根据中策中心注册的服务列表,
以注册中心上的微服务名为路径创建动态路由进行转发,从而实现动态路由的功能。

基于YML的动态路由配置

  • lb 是Load Balance的缩写
  • discovery locator enabled true 开启从注册中心动态创建路由的功能
server:
    port: 9527

spring:
  application:
    name: cloud-gateway
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true  # 开启从注册中心动态创建路由的功能,利用微服务名进行路由
      routes:
        - id: payment_routh            #路由ID,没有固定规则,但要求唯一
          uri: lb://cloud-payment-service #匹配后提供服务的路由地址
          #uri: http://localhost:8001   #匹配后提供服务的路由地址
          predicates:
            - Path=/payment/get/**     #断言: 路径相匹配的进行路由,注意这里的Path首字母大写

        - id: payment_routh2
          uri: lb://cloud-payment-service #lb 是Load Balance的缩写
          #uri: http://localhost:8001
          predicates:
            - Path=/payment/lb/**


eureka:
  instance:
    hostname: cloud-gateway-service
  client:
    service-url:
      register-with-eureka: true
      fetch-registry: true
      defaultZone: http://eureka7001.com:7001/eureka

测试

现在8001、8002会被交替调用
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值