tencent cloud

文档反馈

断路器

最后更新时间:2022-03-04 16:51:46
该文档目前已无效,请参考该产品文档总览页。

    操作场景

    在后端出现问题时,断路器插件可实现熔断降级,用以保护后端,并在后端正常后恢复请求。

    注意:

    断路器仅支持 专享实例 下 API,不支持共享实例。

    原理详解


    您可在断路器插件中设置判断时间窗口错误条件错误次数断路器持续时间降级后端配置等配置项;
    一次断路器周期可分为三个阶段:

    • 当某个绑定了断路器插件的 API 的后端在判断时间窗口内触发错误条件超过错误次数,系统会触发断路器保护,断路器进入打开状态;
    • 断路器打开时,断路时间为断路器持续时间秒,在此期间所有的请求均转发到降级后端配置
    • 断路器持续时间结束后,则断路器置为关闭状态,请求恢复正常。

    操作步骤

    步骤1:创建插件

    1. 登录 API 网关控制台
    2. 在左侧导航栏,单击插件—系统插件,进入系统插件列表页。
    3. 单击页面左上角的新建,选择插件类型为断路器,新建一个断路器插件。断路器插件的配置项如下:
      参数 是否必填 说明
      错误条件 必填 判断某次请求是否视为一次错误的判断条件,最多可同时创建三个条件,详见 下表
      错误次数 必填 错误阈值,时间窗口内超过错误次数次错误将开启断路器。
      判断时间窗口 必填 判断时间窗口,合法值为10~90秒。
      断路器持续时间 必填 断路器开的持续时间,合法值为15~300秒。
      降级后端类型 必填 可选关闭、公网 URL/IP、VPC 内资源、云函数 SCF、Mock、微服务平台 TSF。
      当选中“关闭”时,断路器开启不降级到后端而是给客户端报错;当选中其他选项时,断路器开启时降级到所选后端。
      降级后端配置 降级后端类型非关闭时必填 请输入 API 后端配置 YAML 文件,详情请参见 降级后端配置 YAML 填写指南
      断路器插件支持填写的条件如下:
      错误条件类型 说明
      后端响应时间 后端响应时间大于用户配置的大小时,算作一次错误。
      后端错误码 后端错误码包含或不包含某些错误码时,算作一次错误,多个错误码间用英文逗号隔开。
      后端超时 在 API 后端配置中设置的后端超时时间被触发,算作一次错误。

    步骤2:绑定 API 并生效

    1. 在列表中选中刚刚创建好的插件,单击操作列的绑定 API
    2. 在绑定 API 弹窗中选择服务和环境,并选择需要绑定插件的 API。
    3. 单击确定,即可将插件绑定到 API,此时插件的配置已经对 API 生效。

    PluginData

    {
      "failure_condition":"latency_seconds>1 or func_not_in(status_code,{200,201,202})",  // 错误条件
      "failure_threshold":20,   // 熔断错误阈值,需要正整数
      "time_window":50,    // 判断错误次数的时间窗口,单位秒,合法值为10~90秒
      "open_state_duration":69,    //  断路器持续时间,单位秒,合法值为15~300秒
      "backend_type":"MOCK",    // 降级后的后端类型,可选值:[MOCK, HTTP, SCF, VPC, UPSTREAM, TSF]
      "backend_config":{    // 降级后的后端配置
          "ServiceType":"MOCK",
          "ServiceMockReturnMessage":"hello mock from strategy"
      }
    

    降级后端配置 YAML 填写指南

    请对照着创建插件页面展示的 YAML 模板填写,字段与创建 API 的后端配置字段一一对应。

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持