服务超时动态调整

Dubbo-Admin 中的服务超时动态调整

Dubbo 提供了动态调整超时时间的服务治理能力,可以动态调整服务超时时间,无需重启应用程序。

Dubbo 可以通过 XML 配置、注解配置和动态配置来动态调整超时时间。这里主要介绍动态配置方法。其他配置方法请参考旧文档 配置

开始之前

请确保成功运行 Dubbo-Admin

背景信息

日常工作中会遇到各种超时配置。随着业务发展,业务逻辑发生变化后,现有的调用关系可能需要不断调整,而对应服务接口的响应时间变化可能要到上线后才能确定。Dubbo-Admin 提供了动态超时配置能力,可以帮助您快速动态调整接口超时时间,提高服务可用性。

步骤

动态配置

  1. 登录 Dubbo-Admin 控制台
  2. 在左侧导航栏中,选择服务治理 > 动态配置。
  3. 点击创建按钮,在创建动态配置面板中填写规则内容,点击保存。

详细规则

配置模板
---
configVersion: v2.7
scope: application/service
key: app-name/group+service+version
enabled: true
configs:
-  addresses: ["0.0.0.0"]
   providerAddresses: ["1.1.1.1:20880", "2.2.2.2:20881"]
   side: consumer
   applications/services: []
   parameters:
     timeout: 1000
     loadbalance: random
-  addresses: ["0.0.0.0:20880"]
   side: provider
   applications/services: []
   parameters:
     threadpool: fixed
     threads: 200
     iothreads: 4
     dispatcher: all
     weight: 200
...

对于动态调整超时时间的场景,您只需要弄清楚以下几个问题,就知道如何编写配置

  1. 是否要修改整个应用程序或服务的配置。
    • 应用程序:scope: application, key: app-name(也可以使用 services 指定某些服务)。
    • 服务:scope: service, key:group+service+version
  2. 修改是应用于消费者还是提供者。
    • 消费者:side: consumer,当作用于消费者端时,可以进一步使用 providerAddressapplications 选择特定的提供者实例或应用程序,如果同时配置消费者和提供者,消费者将覆盖提供者。
    • 提供者:side: provider
  3. 配置是否只对某些特定实例生效。
    • 所有实例:addresses: ["0.0.0.0"]addresses: ["0.0.0.0:*"] 取决于 side 值。
    • 指定实例:addersses[实例地址列表]
  4. 要修改的超时时间。

结果验证

选择与超时配置相关的应用程序以触发调用验证。


上次修改时间:2023 年 2 月 9 日:Update docsy to 0.6.0 (#2141) (20081578326)