zrlw
zrlw
应该先提交PR到develop,另外git提交commit的用户名要配置成你github的用户名: wenlong139,否则你签不了Contributor License Agreement (点上面license/ca后面的Details打开签署页,然后确认同意),PR就没有办法合并。 git提交commit前也要配置邮箱,建议和你github账户设置的邮箱一致。 git config --global user.name github用户名 git config --global user.name github账户预留的邮箱
网络双向打通应该就行了,mse-nacos是nacos企业版,和社区版的nacos没有本质差异。 但如果用的是mse-nacos 2.x版本,nacos-sync需要打PR:nacos2限制同一个客户端注册同一个服务时只允许注册一个临时实例,注册第2个时会覆盖掉第1个注册的临时实例。nacos-sync也是nacos2的一个客户端。 目前nacos2为了兼顾nacos-sync这种需求,提供了临时实例批量注册接口,但是nacos-sync目前的版本都还没有做支持。 我提交了一个nacos2集群之间同步的PR,在dubbo3.2.7 + nacos2.3.0-BETA下测试通过了,只是如果dubbo服务采用应用级别注册(dubbo.registry.register-mode=instance)时,还需要设置dubbo.application.metadata-type=remote,将dubbo服务实例元数据存储在元数据中心(默认为local存储在本地),如果应用不单独配置元数据中心,dubbo自动将注册中心作为元数据中心使用。 eureka到mse-nacos2.x的同步,以及mse-nacos2.x到自建eureka的同步可以参照这个PR自己写。 https://github.com/nacos-group/nacos-sync/pull/336
#336 加了nacos2.0和eureka的同步功能,可以试试
主要是在delete方法增加destNamingService判空吧,其他都是添加的注解?
https://github.com/nacos-group/nacos-sync/pull/336 * 增加了consul、eureka、zookeeper到nacos2的同步功能 * 修订了ZookeeperSyncToNacosServiceImpl删除nacos目标集群全部实例的代码缺陷: 1. 实例名取值错误,不应从nacosServiceNameMap的keySet取,应该取nacosServiceNameMap每个Entry的value 2. 不应在for循环遍历nacosServiceNameMap的keySet时进行了map.remove操作,会抛ConcurrentModificationException,应该结束for循环遍历后clear掉全部内容,或者用迭代器改写循环、在循环中调用迭代器remove方法清除当前条目 3. nacosServiceNameMap清理时机有缺陷
该pr只在nacos2集群之间实现了dubbo服务实例的revision及接口映射关系元数据同步(仅当metadata-type=remote时)。 在其他场景下同步应用级别注册实例,还需要手工在目标集群创建应用实例需要的元数据(主要是接口名与应用名之间的映射关系) 更新: 增加了metadata-type=local的接口映射关系元数据同步(通过查询源集群元数据中心获取应用名对应的接口名)
如果同步metadata-type=local的dubbo应用级别服务实例,不想手工在目标集群维护mapping映射关系元数据,可以让所有consumer端在```@DubboReference```注解上添加```providedBy属性```指定需要调用的应用服务名(dubbo provider配置的dubbo.application.name属性),各个consumer直接感知接口名和应用名的映射关系,这样目标集群元数据中心就不再需要配置映射关系元数据了。
PR增加nacos2集群之间dubbo映射元数据的同步功能。
if you're referring to metadata of dubbo instance, you might try this PR (tested on dubbo3 & nacos 2): https://github.com/nacos-group/nacos-sync/pull/336 but dubbo.application.metadata-type of dubbo providers should be set to remote...