Dubbo provides the service governance capability of dynamically adjusting the timeout period, which can dynamically adjust the service timeout period without restarting the application.
Dubbo can dynamically adjust the timeout time through XML configuration, annotation configuration, and dynamic configuration. Here we mainly introduce the dynamic configuration method. For other configuration methods, please refer to the old document Configuration
Please make sure to run Dubbo-Admin successfully
Various timeout configurations are encountered in daily work. After the business logic is changed, the existing call relationship may need to be adjusted continuously with the development of the business, and the change of the response time of the corresponding service interface may not be determined until it goes online. Dubbo-Admin provides a dynamic timeout configuration capability, which can help you quickly and dynamically adjust the interface timeout time to improve service availability.
---
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
...
For the scenario of dynamically adjusting the timeout time, you only need to clarify the following issues to know how to write the configuration:
scope: application, key: app-name
(you can also use services
to specify certain services).scope: service, key:group+service+version
.side: consumer
, when acting on the consumer side, you can further use providerAddress
, applications
to select a specific provider example or application, if you configure the consumer and provider at the same time, the consumer will override provider.side: provider
.addresses: ["0.0.0.0"]
or addresses: ["0.0.0.0:*"]
depends on the side value.addersses[list of instance addresses]
.Select the application related to the timeout configuration to trigger the call verification.