dubbo实战之四:管理控制台dubbo-admin

欢迎访问我的GitHub

https://github.com/zq2599/blog_demos

内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;

《dubbo实战》系列导航

准备和初体验

与SpringBoot集成

使用Zookeeper注册中心

管理控制台dubbo-admin

本篇概览

本文是《dubbo实战》系列的第四篇,内容是部署和启动dubbo管理控制台服务,该服务在开发、测试、生产等环节都非常重要,接下来一起通过实战学习和了解它,官方GitHub地址:https://github.com/apache/dubbo-admin

整篇文章由以下内容构成:

准备工作(注册中心、服务提供者、服务消费者);

准备工作(配置信息);

体验docker版;

下载源码自行构建;

准备工作(注册中心、服务提供者、服务消费者)

所谓准备工作,就是准备一个相对完整的dubbo环境,里面有注册中心、服务提供者、服务消费者;

在上一篇《dubbo实战之三:使用Zookeeper注册中心》,咱们已经创建和验证了服务提供者和消费者,并且以zookeeper作为注册中心,现在请把这些服务全部启动起来,我这边的服务情况如下所示:

服务 IP 端口 项目名称 作用
zookeeper   192.168.50.43   2181   注册中心、配置中心   作用  
springboot-zk-provider   192.168.50.12   8080   springbootzkprovider   服务提供者  
springboot-zk-consumer   192.168.50.12   8081   springbootzkconsumer   服务消费者  

确保zookeeper、服务提供者、服务消费者全部启动且功能正常;

准备工作(配置信息)

接下来要准备配置信息,首选要强调的是dubbo-admin有三个重要的配置项:admin.config-center(配置中心),admin.registry.address(注册中心)、admin.metadata-report.address(元数据中心);

如果在配置文件中只有admin.registry.address(旧版本的做法),此时dubbo-admin会将admin.registry.address的值作为注册中心和配置中心使用,元数据中心将无法使用,因此官方不推荐这样的配置;

官方推荐的做法:在配置文件中只有admin.config-center,此配置的值是zookeeper地址,在zookeeper服务中有个节点,路径是/dubbo/config/dubbo/dubbo.properties,内容是admin.registry.address和admin.metadata-report.address的配置,如下所示:

dubbo.registry.address=zookeeper://127.0.0.1:2181 dubbo.metadata-report.address=zookeeper://127.0.0.1:2181

简单地说,就是只有配置中心的地址放在本地配置文件中,等到dubbo-admin连接到配置中心后,从配置中心取得其他配置信息,画了个简图辅助理解,如下:

在这里插入图片描述


5. 基于上述分析,咱们要先在zookeeper中创建好节点/dubbo/config/dubbo/dubbo.properties,以便dubbo-admin使用,请登录zookeeper所在服务器,进入zookeeper的bin目录;
6. 由于前面的文章已经使用过zookeeper作为注册中心,因此"/dubbo/config/"目录已经存在,下面的命令会创建/dubbo/config/dubbo节点:

./zkCli.sh create /dubbo/config/dubbo ""

再创建/dubbo/config/dubbo/dubbo.properties节点:

./zkCli.sh create /dubbo/config/dubbo/dubbo.properties "dubbo.registry.address=zookeeper://192.168.50.43:2181 dubbo.metadata-report.address=zookeeper://192.168.50.43:2181"

最后,查看是否创建成功,输入和响应如下所示,可见节点创建成功,值也是预期的:

root@zookeeper:/opt/zookeeper-3.4.13/bin# ./zkCli.sh get /dubbo/config/dubbo/dubbo.properties Connecting to localhost:2181 2020-10-25 03:47:50,512 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 04:05 GMT environment:user.home=http://www.likecs.com/root 2020-10-25 03:47:50,526 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=http://www.likecs.com/opt/zookeeper-3.4.13/bin 2020-10-25 03:47:50,529 [myid:] - INFO [main:ZooKeeper@442] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@674e5e21 2020-10-25 03:47:50,584 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1029] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error) WATCHER:: WatchedEvent state:SyncConnected type:None path:null dubbo.registry.address=zookeeper://192.168.50.43:2181 dubbo.metadata-report.address=zookeeper://192.168.50.43:2181 cZxid = 0x6b5 ctime = Sun Oct 25 03:47:30 UTC 2020 mZxid = 0x6b5 mtime = Sun Oct 25 03:47:30 UTC 2020 pZxid = 0x6b5 cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 114 numChildren = 0

至此,准备工作全部完成,可以部署和尝试dubbo-admin了,先从官方推荐的快速体验方式开始,即docker版;

体验docker版

请确保docker已部署并正常运行;

官方Github建议通过docker镜像快速体验管理控制台,如下图,咱们就按照官方的建议先用docker镜像试试:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfwgy.html