zrlw commented on issue #13298:
URL: https://github.com/apache/dubbo/issues/13298#issuecomment-1793606544

   
nacos-sync负责把A注册中心集群中登记的相关服务实例同步到B注册中心集群(通常是异地中心),使得B中心的相关消费者也能够访问A中心的相关服务。nacos-sync每个同步任务的配置信息包括实例来源注册中心url、同步目标注册中心url以及同步的服务实例名称。
   
实现过程如下所示,nacos-sync从NacosCLusterA集群pull相关的服务实例信息(拉取A集群的服务列表),然后将得到的服务实例信息push到NacosClusterB。
   [            +-------------+
        +----> |**NacosClusterA**|
        |      +-------------+               +-------------+
        |                                    |**NacosClusterB**|
   **Pull** |                                    +--+----------+
   **Info** |      +------------+                   ^
        |      |ZooKeeper   |                   |
        |      +--+---------+                   | **Push Info**
        |         ^ Pull Info                   |
        |         |                             |
        |        ++-----------------------------+--+
        <--------+  NacosSync1, NacosSync2,....    |
                 +---+-------------------------+---+
                     |                         |
                     |                         |
                     |                         |
                     |       +---------+       |
                     +-----> |NacosSync| <-----+
                             |Database |
                             +---------+
   ](https://github.com/nacos-group/nacos-sync#architecture-topology)
   
对于应用级别注册的dubbo服务实例而言,从A注册中心拉取的服务实例信息中并不包含相关接口名到应用名的映射关系,nacos-sync还需要根据同步任务登记的应用服务名去A元数据中心拉取相关的映射关系,如果dubbo发布接口映射关系元数据到元数据中心时,再发布一条应用名到接口名的映射关系(相当于多发一条应用名下全部接口的目录信息),那么基于应用名就能从元数据中心直接获取该应用下的所有的接口名,然后获取各个接口到应用的映射关系元数据,再把这些元数据同步到B集群。
   


-- 
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