fantiq opened a new pull request, #15639: URL: https://github.com/apache/dubbo/pull/15639
## What is the purpose of the change? resolve #15623 , to support the options `check=false` for registry-center config-center and metadata-center. There contains the content of PR #15594. The specific changes are as follows: ## config-center 1. When use the registry-center address as config-center or metadata-center adddress, there should assign the value of option `registry.check` to the config-center or metadata-center config option. related change files: - org.apache.dubbo.config.deploy.DefaultApplicationDeployer 2. Add method `boolean isAvailable()` on `DynamicConfiguration`, to check the connection status. related change files: - org.apache.dubbo.common.config.configcenter.DynamicConfiguration - org.apache.dubbo.configcenter.support.nacos.NacosDynamicConfiguration - org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfiguration - org.apache.dubbo.common.config.configcenter.wrapper.CompositeDynamicConfiguration 3. Cache the operation of register config item listener when the connection is not available. related change files: - org.apache.dubbo.common.config.configcenter.wrapper.FailbackDynamicConfiguration - org.apache.dubbo.configcenter.support.nacos.NacosDynamicConfigurationFactory - org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfigurationFactory ## service-name-mapping 1. Refector the reporting process of `ServiceNameMapping`, let it support failure retries. related change files: - org.apache.dubbo.config.ServiceConfig - org.apache.dubbo.metadata.AbstractServiceNameMapping - org.apache.dubbo.metadata.ServiceNameMapping ## metadata 1. Add method `boolean isAvailable()` on `MetadataReport`, to check the connection status. related change files: - org.apache.dubbo.metadata.report.MetadataReport - org.apache.dubbo.metadata.report.support.AbstractMetadataReport - org.apache.dubbo.metadata.store.zookeeper.ZookeeperMetadataReport - org.apache.dubbo.metadata.store.nacos.NacosMetadataReport 2. Support the option of `check=false` related change files: - org.apache.dubbo.metadata.report.support.AbstractMetadataReportFactory - org.apache.dubbo.metadata.store.zookeeper.ZookeeperMetadataReport - org.apache.dubbo.metadata.store.nacos.NacosMetadataReport ## service-discovery 1. Add field `boolean reported` to record whether the metadata reporting is successful or not, Add field `boolean registered` to record where the service-instance register is successful or not. related change files: - org.apache.dubbo.metadata.MetadataInfo - org.apache.dubbo.registry.client.ServiceInstance - org.apache.dubbo.registry.client.DefaultServiceInstance 2. Add failure retry logic for metadata reporting and service-instance registration. related change files: - org.apache.dubbo.registry.client.AbstractServiceDiscovery ## consumer Support the consumer `check` option, if it is `true`, the subscribe fail will retry by `FailbackRegistry`. related change files: - org.apache.dubbo.registry.client.ServiceDiscoveryRegistry ## Checklist - [x] Make sure there is a [GitHub_issue](https://github.com/apache/dubbo/issues) field for the change. - [x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. - [x] Write necessary unit-test to verify your logic correction. If the new feature or significant change is committed, please remember to add sample in [dubbo samples](https://github.com/apache/dubbo-samples) project. - [x] Make sure gitHub actions can pass. [Why the workflow is failing and how to fix it?](../CONTRIBUTING.md) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
