一、Gateway创建动态路由
我们从gateway的配置文件application.yml中可以看到,url是固定的,并不能实现负载均衡,依然存在着问题。所以需要配置动态路由。即从注册中心动态创建路由的功能,利用微服务名进行路由。
server:
port: 9527
spring:
application:
name: cloud-gateway-server
cloud:
gateway:
discovery:
locator:
enabled: true #开启从注册中心动态创建路由的功能,利用微服务名进行路由
routes:
- id: payment_routh #路由的ID,没有固定规则但要求保持唯一
uri: lb://CLOUD-PAYMENT-SERVICE #匹配后提供的路由地址
predicates:
- Path=/payment/get/** #断言,路径相匹配的进行路由
- id: payment_routh2
uri: lb://CLOUD-PAYMENT-SERVICE #匹配后提供的路由地址
predicates:
- Path=/payment/lb/**
eureka:
client:
fetch-registry: true
register-with-eureka: true
service-url:
defaultZone: http://eureka7001.com:7001/eureka/
二、断言Predicate