文档

配置重试策略

更新时间:

云原生网关提供路由级别的重试设置,可以为出错的请求调用自动进行重试。您可以按需设置重试条件,例如建立连接失败,或者后端服务不可用以及对指定HTTP状态码的响应等进行请求重试。

路由重试条件

当后端服务返回5xx错误时,云原生网关按照设置的重试次数对出错的请求自动进行重试。

路由重试

  • HTTP协议的重试条件如下:

    • 5xx:如果后端服务返回任何5xx响应,或者发生连接断开、重置、读取超时事件,云原生网关将尝试对出错请求进行重试。

      说明

      5xx包含connect-failurerefused-stream的条件。

    • reset:如果发生连接断开、重置、读取超时事件,云原生网关将尝试对出错请求进行重试。

    • connect-failure:如果请求是由连接断开导致的出错,云原生网关将尝试对出错请求进行重试。

    • refused-stream:如果后端服务以REFUSED_STREAM错误代码来重置流,云原生网关将尝试对出错请求进行重试。

    • retriable-status-codes:如果后端服务响应结果的HTTP状态码匹配上您指定的重试状态码,云原生网关将尝试对该请求进行重试。

      说明

      只有在重试条件中指定了retriable-status-codes,才能使用重试状态码。

  • gRPC协议的重试条件如下:

    • cancelled:如果后端gRPC服务的响应头部中的gRPC状态码为cancelled,云原生网关将尝试对该请求进行重试。

    • deadline-exceeded:如果后端gRPC服务的响应头部中的gRPC状态码为deadline-exceeded,云原生网关将尝试对该请求进行重试。

    • internal:如果后端gRPC服务的响应头部中的gRPC状态码为internal,云原生网关将尝试对该请求进行重试。

    • resource-exhausted:如果后端gRPC服务的响应头部中的gRPC状态码为resource-exhausted,云原生网关将尝试对该请求进行重试。

    • unavailable:如果后端gRPC服务的响应头部中的gRPC状态码为unavailable,云原生网关将尝试对该请求进行重试。

配置路由重试策略

  1. 登录MSE网关管理控制台

  2. 在左侧导航栏,选择云原生网关 > 网关列表,并在顶部菜单栏选择地域。

  3. 网关列表页面,单击目标网关名称。

  4. 在左侧导航栏,选择路由管理 > 路由配置,然后在需要变更的路由规则操作列单击策略配置

  5. 策略配置区域,单击重试页签。

    • 如果您之前没有配置过路由重试策略,请单击配置策略

    • 如果您之前已经配置过路由重试策略,请单击重试策略右侧的编辑图案图标。

  6. 重试规则中配置相关参数,然后单击确定

    重试策略.png

    云原生网关重试策略参数说明。

    参数

    描述

    重试次数

    设置对出错请求的最大重试次数。重试次数支持设置0~10次,建议不超过2次。

    说明

    重试次数设置为0,表示取消重试。

    重试条件

    选择合适的重试条件,支持多选。相关内容,请参见路由重试条件

    重试状态码

    指定对特定HTTP状态码的响应进行重试,支持配置多种HTTP状态码。

    说明

    重试条件指定retriable-status-codes,才能配置重试状态码

    开启状态

    路由重试策略的启用开关。

    • 开启:网关路由重试策略生效。

    • 关闭:网关路由重试策略失效。

    说明

    关闭重试后,网关内部有个默认重试配置,重试次数默认为2次,重试条件默认为connect-failurerefused-streamunavailablecancelledretriable-status-codes

    重试策略配置完成且开启后,请根据实际业务验证服务重试规则是否生效。

  • 本页导读 (1)
文档反馈