欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

gateway配置动态路由

程序员文章站 2022-06-13 15:42:34
...

gateway配置动态路由

修改yml文件即可:
原本的yml文件

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

        - id: payment_routh2
          #uri: http://localhost:8001
          uri: lb://CLOUD-PAYMENT-SERVICE   #匹配后提供服务的路由地址
          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

修改完毕以后:
修改部分就是在gateway下面开启动态路由功能 改微true 然后uri改成
lb://在eureka里面注册的用户名CLOUD-PAYMENT-SERVICE

server:
  port: 9527
spring:
  application:
    name: cloud-gateway
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true #开启从注册中心动态创建路由的功能,利用微服务名进行路由
      routes:
          - id: payment_routh #路由的ID,没有固定规则但要求唯一,建议配合服务名
#            uri: http://localhost:8001   #匹配后提供服务的路由地址 ,只有单个地址,不能适配集群
            uri:  lb://CLOUD-PAYMENT-SERVICE	   #匹配后提供服务的路由地址
            predicates:
              - Path=/payment/get/**   #断言,路径相匹配的进行路由
          - id: payment_routh2
#            uri: http://localhost:8001 #只适合单个微服务提供者
            uri:  lb://CLOUD-PAYMENT-SERVICE
            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

gateway配置动态路由