server:
port: 9010 #服务端口号
spring:
application:
name: micro-sdn-gateway # 服务名称
cloud:
gateway:
discovery:
locator:
enabled: true#是否适用默认路由(通过gatewayUri:port/服务名/path直接访问服务接口)
lowerCaseServiceId: true#是否忽略服务名大小写
routes:#gateway配置多条路由规则时注意顺序问题,例如本例中路由谓词为Query的场景
#路由规则ID,上下文唯一
- id: micro-sdn-ptn #路由目标的服务名
uri: lb://MICRO-SDN-PTN #路由条件:请求中若包含ptn的路径自动转发至目标服务
predicates:
- Path=/**/ptn/** #访问gateway的路由
filters:
#- StripPrefix=1 去掉Path中第一个节点
- name: Retry
args:
#重试次数
retries: 2
#触发重试的HTTP状态返回码
#多个参数用-连接
statuses: BAD_GATEWAY
#参考同上,series与statuses二选一即可
series:
- SERVER_ERROR#表示5xx,以5开头的各种状态码
exceptions:#有以下异常时触发重试,此处注意timeout的时间与熔断设置的时间
- java.util.concurrent.TimeoutException
- java.net.ConnectException
#根据url携带参数"?app-name=collect1"匹配路由目标
#例http://localhost:9010/test?app-name=collect1
- id: micro-sdn-collect1
uri: lb://MICRO-SDN-COLLECT1
predicates:
- Query=app-name,collect1#参数谓词只有一个参数时,匹配url中的变量名app-name;两个参数则同时匹配变量与值
- id: micro-sdn-collect
uri: lb://MICRO-SDN-COLLECT
predicates:
- Query=app-name,collect
来源:CSDN
作者:183090792csdn
链接:https://blog.csdn.net/qq_41207507/article/details/104319482