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

  • Post author:
  • Post category:其他




基本原理

默认情况下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会被交替调用

在这里插入图片描述



版权声明:本文为Ezerbel原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。