SpringBoot-12 Dubbo Zookeeper
1.Dubbo概念
Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC框架,它提供了六大核心能力:面向接口代理的高性能RPC调用,智能容错和负载均衡,服务自动注册和发现,高度可扩展能力,运行期流量调度,可视化的服务治理与运维。
官网:http://dubbo.apache.org/
- 服务提供者(Provider):暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务。
- 服务消费者(Consumer):调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
- 注册中心(Registry):注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者
- 监控中心(Monitor):服务消费者和提供者,在内存中累计调用X数和调用时间,定时每分钟发送一次统计数据到监控中心
调用关系说明
- 服务容器负责启动,加载,运行服务提供者。
- 服务提供者在启动时,向注册中心注册自己提供的服务1服务消费者在启动时,向注册中心订阅自己所需的服务
- 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
- 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
- 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
2.Dubbo环境搭建
这里我们可以使用Zookeeper注册中心
2.1 安装Zookeeper
下载地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.2/
zookeeper 从 3.5 版本以后,命名就发生了改变 如果是 apache-zookeeper-3...tar.gz 这般命名的,都是未编译的 而 apache-zookeeper-3..-bin.tar.gz 这般命名的,才是已编译的包
进入之后下载压缩包即可:
下载好解压:
bin文件夹中有 zkServer.cmd,双击启动:
2.2 遇到问题
找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain
原因分析:
zookeeper 从 3.5 版本以后,命名就发生了改变
如果是 apache-zookeeper-*.tar.gz 这般命名的,都是未编译的
而 apache-zookeeper-*-bin.tar.gz 这般命名的,才是已编译的包
解决方案: 重新下载 apache-zookeeper-3..-bin.tar.gz 包,然后解压使用。
闪退问题
第一次使用的话,可能会遇到闪退的问题:
解决方法:
编辑该文件,在 endlocal 上面一行加入 pause
该语句会使程序运行到这个地方停止,等待你的操作
双击打开:
原因分析:
解压的文件夹根目录下,有一个conf文件夹,中间没有zoo.cfg
解决方案: 将文件中原有的zoo_sample.cfg复制一下,改名为zoo.cfg
这时候就运行成功了
2.3 Zookeeper运行
依次 先打开 bin文件夹下的:zkServer.cmd 、zkCli.cmd
这说明已经运行成功。
Zookeeper语句
1.查看现存有的文件夹
代码语言:javascript复制ls /
2.创建新文件夹
下方语句意思为:创建一个zc文件夹,存值123
代码语言:javascript复制creste -e /zc 123
3.查看文件夹内容
代码语言:javascript复制get /zc
3.安装dubbo-admin
3.1 下载项目
dubbo-admin下载地址
注意:记得更改该项目分支为master再下载
下载好解压,在根目录下 dubbo-admin----src----main----resources文件夹下的 application.properties
代码语言:javascript复制admin.registry.address=zookeeper://127.0.0.1:2181
此处就是注册中心地址
3.2 打包项目
在cmd命令指示框进入到根目录:
代码语言:javascript复制mvn clean package -Dmaven.test.skip=true
第一次打包项目是挺慢的。
这时候进入 dubbo-admin----target,会出现jar包
3.3 运行测试
我们需要打开的网址为:http://localhost:7001/
cmd下,执行该语句,这时候会发现报错。
代码语言:javascript复制java -jar dubbo-admin-0. 3. 0-SNAPSHOT. jar
然后我们先启动Zookeeper服务器,在启动jar包
默认账号密码都是:root,输入就进入了。
4.小结
zookeeper:注册中心
dubbo-admin:是一个监控管理后台-查看我们注册了哪些服务,哪些服务被消费了
Dubbo:jar包
个人博客为: MoYu’s HomePage MoYu’s Gitee Blog