基本原理
默认情况下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 版权协议,转载请附上原文出处链接和本声明。