知识卡片
规则匹配先具体后通用的顺序陷阱
内容
限流规则按顺序从头匹配,命中第一条规则后就不再往下匹配。如果一条只针对某个具体来源+目标组合的精细规则被放在一条只针对目标本身的宽泛规则之后,宽泛规则会先命中,精细规则永远轮不到执行,等于白配置了。所以规则顺序必须遵守”越具体的匹配条件放越前面,越宽泛的兜底规则放越后面”,而不能按配置的先后顺序随意排列。发散:这不是这一处配置特有的坑,任何”按顺序匹配、命中即停止”的规则引擎都有同一个陷阱——防火墙规则、路由表、CSS 选择器优先级、if-elif 链条——排序错误不会报错,只会悄悄让某条规则形同虚设,是最难在测试阶段发现的一类 bug。
参考来源
《Istio入门与实战》第8章《限流》