Dubbo 结构
-
服务提供者(Provider):暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务。
-
服务消费者(Consumer):调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
-
注册中心(Registry):注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者
-
监控中心(Monitor):服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心
调用关系说明
-
服务容器负责启动,加载,运行服务提供者。
-
服务提供者在启动时,向注册中心注册自己提供的服务。
-
服务消费者在启动时,向注册中心订阅自己所需的服务。
-
注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
-
服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
-
服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
快速开始
1. windows下下载并启动Zookeeper的客户端和服务端进行测试
-
解压以后,运行zkServer.cmd脚本
-
如果还是启动不成功,查看zkServer.cmd文件
-
zookeeper新版本启动的过程中,zookeeper新增的审核日志是默认关闭,所以控制台输出ZooKeeper audit is disabled,标准的修改方式应该是在zookeeper的配置文件zoo.cfg新增一行audit.enable=true即可
"-Dzookeeper.audit.enable=true"
- 启动服务端
- 启动客户端 zkCli.cmd
- 启动成功
2. windows下安装dubbo-admin,进行可视化监控
-
在GitHub上下载dubbo-admin的主分支
-
解压,如果在zookeeper中更改过端口号(初始端口号为2181),就需要进入dubbo-admin\src\main\resources\application.properties 同步更改端口号,否则就不用
-
在项目目录下打包dubbo-admin
mvn clean package -Dmaven.test.skip=true
- 打包完成:上面显示打包失败,但是在target文件夹中依然出现了目标jar包,如果没出现,就再执行一遍打包。
- 因为dubbo-admin就是一个maven项目,也可以导入IDEA用Maven进行打包
-
执行 java -jar dubbo-admin-0.0.1-SNAPSHOT.jar
-
完成
-
在启动jar包时,zookeeper要保持开启状态
-
访问 http://localhost:7001/
- 默认账号密码为root root
总结:
zookeeper是服务注册中心
dubbo是一个jar包,在pom中引入就可以了
dubbo-admin是一个监控平台,查看注册了哪些服务,哪些服务被消费。可以根据主观意识决定是否启动