服务超时动态调整
Dubbo-Admin 中的服务超时动态调整
Dubbo 提供了动态调整超时时间的服务治理能力,可以动态调整服务超时时间,无需重启应用程序。
Dubbo 可以通过 XML 配置、注解配置和动态配置来动态调整超时时间。这里主要介绍动态配置方法。其他配置方法请参考旧文档 配置
开始之前
请确保成功运行 Dubbo-Admin
背景信息
日常工作中会遇到各种超时配置。随着业务发展,业务逻辑发生变化后,现有的调用关系可能需要不断调整,而对应服务接口的响应时间变化可能要到上线后才能确定。Dubbo-Admin 提供了动态超时配置能力,可以帮助您快速动态调整接口超时时间,提高服务可用性。
步骤
动态配置
- 登录 Dubbo-Admin 控制台
- 在左侧导航栏中,选择服务治理 > 动态配置。
- 点击创建按钮,在创建动态配置面板中填写规则内容,点击保存。
详细规则
配置模板
---
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
...
对于动态调整超时时间的场景,您只需要弄清楚以下几个问题,就知道如何编写配置
- 是否要修改整个应用程序或服务的配置。
- 应用程序:
scope: application, key: app-name
(也可以使用services
指定某些服务)。 - 服务:
scope: service, key:group+service+version
。
- 应用程序:
- 修改是应用于消费者还是提供者。
- 消费者:
side: consumer
,当作用于消费者端时,可以进一步使用providerAddress
、applications
选择特定的提供者实例或应用程序,如果同时配置消费者和提供者,消费者将覆盖提供者。 - 提供者:
side: provider
。
- 消费者:
- 配置是否只对某些特定实例生效。
- 所有实例:
addresses: ["0.0.0.0"]
或addresses: ["0.0.0.0:*"]
取决于 side 值。 - 指定实例:
addersses[实例地址列表]
。
- 所有实例:
- 要修改的超时时间。
结果验证
选择与超时配置相关的应用程序以触发调用验证。
上次修改时间:2023 年 2 月 9 日:Update docsy to 0.6.0 (#2141) (20081578326)