超时时间

1. gateway添加超时配置(前端调用接口的超时时间,默认30s)

servicecomb:
  request:
    timeout : 30000

一定注意,这个是serviceComb的配置,如果使用了nacos则不生效

2. 内部rpc接口调用超时时间配置(默认30s)

注意;下图红框标注的占位,一定不要错位
单位 秒

3.接口超时后,调用方会进行重试,可以关闭重试,或者设置重试次数

使用重试

配置参数:

servicecomb:
  retry:
    allOperation: |
      maxAttempts: 2
      retryOnSame: 0

maxAttempts表示最大重试次数(不包括第1次调用),retryOnSame表示使用第1次调用的实例进行重试次数。后续的重试会根据负载均衡策略,重新选择一个新的实例重试(也可能选择到同一个实例)。

注意事项:

并不是所有的异常都会触发重试。缺省的情况,只有网络异常,或者 502,503 错误码才会触发重试。 详细可以参考 ServiceCombRetryExtension 的定义。

4.特殊接口调试超时时间

servicecomb.request.timeout 用于控制前端接口请求的超时时间,单位为毫秒。
支持多级配置,优先级逐级升高,高优先级配置会覆盖低优先级:

全局配置:设置所有接口默认超时时间;
服务级别:针对某个微服务下全部接口单独设置超时;
Controller (Schema) 级别:针对某个控制器下所有接口单独设置超时;
接口方法 (operationId) 级别:针对某一个具体接口单独设置超时,优先级最高。
普通接口使用全局默认超时即可;对于部分业务处理耗时较长的特殊接口,可单独调大超时时间,避免请求被异常中断。

servicecomb:
  request:
    timeout: 60000              # 全局 1分钟
    meta: # microServiceName 服务标识
      timeout: 60000            # 可选,所有接口
      com.je.meta.controller.setting.SystemSettingController: # schemaId 指定controller
        timeout: 40000          # 可选:该 schema 所有接口的超时时间 40秒
        loadFrontendSetting: #  operationId 一般是controller中的方法名
          timeout: 300000 # 超时时间 5分钟
        loadSystemSetting: #指定多个方法时,再添加一个
          timeout: 15000

schemaId可以查看servicecenter,一般就是类的全路径

一定注意,这个是serviceComb的配置,如果使用了nacos则不生效

最后编辑: 于春辉  文档更新时间: 2026-08-13 16:28   作者:于春辉