path: 表示需要拦截匹配哪些 URL,假如说我需要对redis开头(/redis/*)的请求url,使用IP限流,那么对于所有以 redis开头的url都会被以IP维度限流了。
那如果我还配置了一个 /** 的限流配置,即如下配置:
redis:
util:
limit:
configs:
- path: "/**"
replenishRate: 1
burstCapacity: 10
keyResolver: "apiKeyResolver" --- 限流维度
- path: "/redis/*" --- 拦截请求以/redis/*开头的这些url
replenishRate: 1 --- 每秒中增加的令牌数量
burstCapacity: 5 --- 桶容量
keyResolver: "ipKeyResolver" --- 限流维度
enable: true
对于这种情况,如果请求 url:/redis/limit,该被哪个限流方案生效呢?答案是,生效的是 ipKeyResolver
, 因为 url:/redis/limit
最匹配path: "/redis/*"
;