自定义路由
spring:
cloud:
gateway:
routes:
- id: product_route
uri: lb://product-service
predicates:
- Path=/product-serv/**
filters:
- StripPrefix=1
- id: order_route
uri: lb://order-service
predicates:
- Path=/order-serv/**
filters:
- StripPrefix=1
怎样把http://localhost:9000/order-servsave转换到http://localhost:9000/order-service/save?
先通过断言
predicates:
- Path=/product-serv/**
找到路由的配置信息,通过过滤器StripPrefix
1.获取域 http://localhost:9000/order-serv
2.地址截断操做 截断几层 1层 以 / 分层 从后往前数
http://localhost:9000
(当uri使用的协议为lb时,网关将使用LoadBalncerClient把user-service通过Nacos解析为实际的主机和端口,并进行Ribbon负载均衡)
3.补充uri的地址,lb协议是使用负载均衡策略(Ribbon)把真实服务的名称附加上来
http://localhost:9000/order-service
4.附上资源地址进行访问
http://localhost:9000/order-service/save