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]

Reply via email to