Spring Boot 2.1.8 + Dubbo 2.7.3 +ZooKeeper配置实践

网上看到很多教程,由于Dubbo 的升级,大多都过时了。本文记录笔者的实践。


1. ZooKeeper,

没有变化,略。

2. Dubbo 2.7.3

在POM 中,很多人还在使用老的ali 的依赖包和老的zk cleint 包。本人采用全新的apache Dubbo 依赖,详细如下:




org.apache.dubbo

dubbo

${dubbo.version}

org.springframework

spring-context

org.apache.dubbo

dubbo-spring-boot-starter

${dubbo.version}

org.apache.curator

curator-framework

${curator-framework.version}

org.apache.curator

curator-recipes

${curator-framework.version}

org.apache.dubbo

dubbo-metadata-report-zookeeper

${dubbo.version}




3. Dubbo Admin

老版本是以war 包形式提供,新版直接是 spring Boot App。

https://github.com/apache/dubbo-admin

3.1 没有编译好直接用的 JAR, 需要自己编译 工程 “dubbo-admin-server” 得到 jar 包,然后直接运行即可,

3.2 默认8080 端口。 如果要改, 编辑 “application.properties”, 加入如下行:

server.port: 6868

3.3 如果zookeeper 有其他配置, 同样修改该文件:


admin.registry.address=zookeeper://127.0.0.1:2181

admin.config-center=zookeeper://127.0.0.1:2181

admin.metadata-report.address=zookeeper://127.0.0.1:2181

#group

admin.registry.group=dubbo

admin.config-center.group=dubbo

admin.metadata-report.group=dubbo

admin.apollo.token=e16e5cd903fd0c97a116c873b448544b9d086de9

admin.apollo.appId=test

admin.apollo.env=dev

admin.apollo.cluster=default

admin.apollo.namespace=dubbo


3.4. 重点来了, 配置好后,Admin 不能读取元数据。

报如下错误:

https://github.com/apache/dubbo-admin/issues/456

解决方法:

https://github.com/apache/dubbo-admin/commit/419c7d35c29482c024123628995e3855eab72f19#diff-faafa5ff0a309cfcdba8a5ca4f18954eL72

回滚如下代码,就正常了。

privatefinalstaticStringMETADATA_NODE_NAME="service.data";

returntoRootDir()+metadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.PATH)+

Constants.PATH_SEPARATOR+METADATA_NODE_NAME;


    3.5 如果有zookeeper 集群, 则如下配置:

参照:

https://github.com/apache/dubbo-admin/issues/461

admin.registry.address=zookeeper://ip:port?backup=ip:port,ip:port

#admin.config-center=zookeeper://127.0.0.1:2181

#admin.metadata-report.address=zookeeper://127.0.0.1:2181

你可能感兴趣的:(Spring Boot 2.1.8 + Dubbo 2.7.3 +ZooKeeper配置实践)