Dubbox框架学习
Dubbox是一个分布式服务框架,前身是阿里巴巴的开源项目Dubbo,后来阿里不再维护此框架;进而当当网进行了进一步维护,为了和Dubbo区分就取名为Dubbox。
简单而言,在Dubbox中主要存在三种角色:注册中心(Registry)、 提供者(Provider)、消费者(Customer)。
而作为分布式框架之一的Dubbox就能够实现消费方和提供方之间的远程调用,即对分别部署在不同服务器端的服务提供了一个相互交互的平台。
节点角色说明
- Provider: 暴露服务的提供方
- Consumer: 调用远程服务的服务消费方
- Registry: 服务注册与发现的注册中心
- Monitor: 统计服务调用次数和调用时间的监控中心
- Container: 服务运行容器
调用关系说明
- 服务容器负责启动、加载,运行服务提供者
- 服务提供者在启动时,向注册中心注册自己提供的服务
- 服务消费者在启动时,向注册中心订阅自己所需的服务
- 注册中心返回返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
- 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台
- 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
注册中心zookeeper
安装
安装zookeeper
我们首先要将本地的zookeeper安装包发送到centos虚拟机上。(因为实际开发中服务器是不存在界面的,所以要学会使用命令行操作),这里就用SecureCRT软件操纵我们的CentOS服务器。
- 在本机上安装SecureCRT软件(这里我使用的是MacOS系统,服务器使用的是
Centos系统)。 - 使用SecureCRT连接自己虚拟机上的服务器。
- 首先我们要配置CentOS服务器是联网状态,否则无法连接。
- 在centos的终端中输入
ifconfig命令就能显示出来自己服务器的ip地址。 - 使用SecureCRT新建一个连接,输入ip地址以及用户名、密码就能连接上。
-
图解
创建新连接填写连接信息
连接成功(服务器必须是联网状态)
-
使用SecureCRT上传文件到服务器
- 服务器连接成功后,我们便可以将本地的zookeeper安装包上传到服务器上。在SecureCRT的命令窗口中输入命令
rz,即会弹出来窗口选择要上传到服务器上的文件。 - 上传完毕我们继续在SecureCRT窗口中输入
ll命令可以看到自己上传的zookeeper-xx.tar.gz安装包。
- 服务器连接成功后,我们便可以将本地的zookeeper安装包上传到服务器上。在SecureCRT的命令窗口中输入命令
-
配置
启动
经过以上步骤,我们已经将zookeeper成功上传到了服务器并做了一些准备工作。下面我们开始部署并启动zookeeper。
- 在
/root/zookeeper/根目录下输入命令mkdir data,创建data文件夹。 - 输入命令:
cd /root/zookeeper/conf/,再输入命令ll可以查看此目录下的文件。 - 重命名
zoo_sample.cfg:输入命令mv zoo_sample.cfg zoo.cfg,则文件将命名为zoo.cfg。 -
修改
zoo.cfg:输入命令vim zoo.cfg,在vim下找到并修改为如下:dataDir=/root/zookeeper/data(注意路径),退出并保存。
-
启动zookeeper:进入bin目录,输入
cd bin;启动zookeeper,输入./zkServer.sh start,正常情况加便可以启动。
-
停止zookeeper:
./zkServer.sh stop;查看zookeeper状态:./zkServer.sh status
Dubbox本地jar的部署和安装
这个特别需要注意,由于阿里不在维护此项目后,由当当网维护Dubbox,但是其并没有将jar提交到maven仓库中。因此我们去maven仓库中看到dubbo的最新版是2.5.3,
但其实最新版本的Dubbox的版本是2.8.x,如果我们直接使用maven仓库中的版本,会遇到各种连接不上远程服务器的问题。
这里我给出来自己中的Dubbox.jar,大家直接放到自己本地maven仓库中即可:百度云链接 密码:nq1l
pom中的坐标:
1 2 3 4 5 | <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.8.4</version> </dependency> |
Dubbo-admin的部署
dubbo-admin是dubbo的管理工具,项目地址:https://github.com/alibaba/dubbo
但是我发现这个GitHub地址其实被重置了,真正访问的项目中并没有显示dubbo-admin,所以这里找了一个现成的war包dubbo-admin.war,传送门:百度云连接 密码:k8qs
安装过程
实际就是部署简单的war包到Tomcat下,至于Linux怎么安装Tomcat请参看百度,主要是以下几点:
- 在服务器端安装Tomcat。
- 将下载的
dubbo-admin.war包部署到服务器上Tomcat的webapps目录下。 cd tomcat/bin进入bin目录中,输入./startup.sh即启动了Tomcat服务器。- 在本地浏览器上输入
服务器Ip:8080/dubbo-admin/,会弹出来登录框,注意: 用户名:root;密码:root。
如图所示:
登录后:
本文介绍了Dubbox框架的基础知识,包括其角色定义和工作原理。详细讲述了如何配置注册中心Zookeeper,包括安装、配置、启动和停止的步骤。此外,还提到了Dubbox本地JAR的部署和安装注意事项,以及Dubbo-admin的部署过程,提供了相关资源链接。







2万+

被折叠的 条评论
为什么被折叠?



