fault-injection插件 operatorlist)。 子项delay中每一项的配置字段说明如下。 名称 类型 填写要求 默认值 有效值 描述 duration number 必填 延迟时间,可以指定小数 percentage integer 可选 [0, 100] 将被延迟的请求占比 vars array[] 可选 执行请求延迟的规则,当规则匹配通过后才会执行故障注。vars 是一个表达式的列表,来自 luarestyexpr。 注: vars 是由 luarestyexpr 的表达式组成的列表,它可以灵活的实现规则之间的 AND/OR 关系,示例如下: plaintext [ [ [ "argname","","jack" ], [ "argage","",18 ] ], [ [ "argname2","","allen" ] ] ] 以上示例表示前两个表达式之间的关系是 AND,而前两个和第三个表达式之间的关系是 OR。 配置示例 场景1:故障注入 plaintext abort: httpstatus: 503 body: "Fault Injection!" 根据该配置,路由请求时会被拦截,返回自定义的状态码和响应体。 场景2:请求延迟 plaintext delay: duration: 3 根据该配置,路由请求时会延迟3秒后再执行 场景3:带条件的故障注入和请求延迟 plaintext abort: httpstatus: 504 body: "Fault Injection!" vars: [ [ [ "argname","","jack" ] ] ] delay: duration: 3 vars: [ [ [ "httpage","","18" ] ] ] 根据该配置,当请求参数中name值为jack的路由时会被拦截 plaintext curl HTTP/1.1 503 Service Temporarily Unavailable ...... Fault Injection! 当请求header中age值为18的路由时会延迟3秒执行 plaintext time curl H 'age: 18' HTTP/1.1 200 ...... real 0m3.008s user 0m0.003s sys 0m0.003s