request_path_limiter

request_path_limiter #

描述 #

request_path_limiter 过滤器用来定义请求的限速规则,可以实现索引级别的限速。

配置示例 #

配置示例如下:

flow:
  - name: rate_limit_flow
    filter:
      - name: request_path_limiter
        parameters:
          message: "Hey, You just reached our request limit!"
          rules: 
            - pattern: "/(?P<index_name>medcl)/_search" 
              max_qps: 3 
              group: index_name 
            - pattern: "/(?P<index_name>.*?)/_search" 
              max_qps: 100
              group: index_name

上面的配置中,对 medcl 这个索引执行查询,允许的最大 qps 为 3,而对其它的索引执行查询的 qps 为 100

参数说明 #

名称类型说明
messagestring设置达到限速条件的请求的返回消息
rulesarray设置限速的策略,支持多种规则,按照配置的先后顺序处理,先匹配的先执行
rules.patternstring使用正则表达式来对 URL 的 Path 进行规则匹配,必须提供一个 group 名称,用于作为限速的 bucket key
rules.groupstring正则表达式里面定义的 group 名称,将用于请求次数的统计,相同的 group 值视为一类请求
rules.max_qpsint定义每组请求的最大的 qps 参数,超过该值将触发限速行为