02-搭建注册中心和控制台
介绍了dubbo基本的架构之后,我们先学会使用它,会使用了才有可能理解它的原理。本节先来搭建注册中心和dubbo的可视化控制台界面,为后续的dubbo应用的搭建做好准备。
一、注册中心
打开官方文档,我们会看到dubbo支持很多种注册中心,但是它写了:**推荐使用 Zookeeper 注册中心。**关于zookeeper我已经做了系统学习。
zookeeper 注册中心详细说明了zk的作用以及代码中客户端的使用。
我们知道zk是一颗树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心
流程说明:
- 服务提供者启动时: 向
/dubbo/com.foo.BarService/providers
目录下写入自己的 URL 地址 - 服务消费者启动时: 订阅
/dubbo/com.foo.BarService/providers
目录下的提供者 URL 地址。并向/dubbo/com.foo.BarService/consumers
目录下写入自己的 URL 地址 - 监控中心启动时: 订阅
/dubbo/com.foo.BarService
目录下的所有提供者和消费者 URL 地址。
支持以下功能:
- 当提供者出现断电等异常停机时,注册中心能自动删除提供者信息
- 当注册中心重启时,能自动恢复注册数据,以及订阅请求
- 当会话过期时,能自动恢复注册数据,以及订阅请求
- 当设置 <dubbo:registry check=“false” /> 时,记录失败注册和订阅请求,后台定时重试
- 可通过 <dubbo:registry username=“admin” password=“1234” /> 设置 zookeeper 登录信息
- 可通过 <dubbo:registry group=“dubbo” /> 设置 zookeeper 的根节点,不设置将使用无根树
- 支持 * 号通配符 <dubbo:reference group=" * " version=" * " />,可订阅服务的所有分组和所有版本的提供者
Dubbo
支持 zkclient
和 curator
两种 Zookeeper
客户端实现。
二、zookeeper 安装
就在windows下先安装练习吧!其他系统的也差不多。
注意一下直接启动不行的,要将conf
下的zoo_sample.cfg
改为zoo.cfg
才行,默认的端口是2181,注意修改一下临时数据存放的路径。这些修改完成之后,windows下就可以直接在命令行中用zkServer.cmd
启动了。
三、new dubbo admin
什么是dubbo admin
?是图形化服务管理页面,安装时需要指定注册中心地址,即可从注册中心中获取到所有的提供者/消费者进行配置管理。
1 | git clone https://github.com/apache/incubator-dubbo-ops.git |
访问http://localhost:8080即可。
我们看到克隆下来之后其实有三个文件:dubbo-admin-distribution
,dubbo-admin-server
,dubbo-admin-ui
,根据官网介绍,我们只需要对第一个进行打包然后java -jar
即可。后面两个是前后端分离的部署方式。所以我们主要来看看dubbo-admin-server
:
1 | admin.config-center=zookeeper://127.0.0.1:2181 |
三个配置项分别指定了配置中心,注册中心和元数据中心的地址。这个以后再去了解。OK,下一节来看看dubbo的provider
和consumer
是如何暴露服务以及消费服务的。
以上为新版的管理控制台,但是我看还是develop分支,说明还不是很稳定,文档啥的也不是很全,就暂时不入坑了。我们还是回到2.6版本。上一版本,admin管理台和monitor监控是分开的。这里说一下老版本的admin。
四、old dubbo admin
下载地址:
incubator-dubbo-ops-master.zip
主要是先关注里面的dubbo-admin
,他就是老版本服务治理的管理页面。注意源码里面里面的application.properties
中连接zk的信息,匹配即可。先启动zk,然后对这个文件夹打包运行。默认是用localhost:7001
打开。需要额外输入用户名和密码,默认都是root
。
下面我就还是用这个版本对服务进行管理吧!
五、dubbo-monitor-simple
这是一个简单的监控中心。
在incubator-dubbo-ops-master
文件夹下有一个文件叫做dubbo-monitor-simple
,进行mvn package
之后为:
将其拷贝到另外一个地方解压。里面有三个文件夹,有一个是conf
文件夹,我们编辑dubbo.properties
这个文件:
1 | dubbo.container=log4j,spring,registry,jetty-monitor |
一切没有问题,来到assembly.bin
下去启动吧!启动成功的话为:
下面进行实操并且结合这边搭建的监控台一起观察观察。