Dubbox入门配置

Dubbox框架学习

Dubbox是一个分布式服务框架,前身是阿里巴巴的开源项目Dubbo,后来阿里再也不维护此框架;进而当当网进行了进一步维护,为了和Dubbo区分就取名为Dubbox。html

简单而言,在Dubbox中主要存在三种角色:注册中心(Registry)、 提供者(Provider)、消费者(Customer)。 而做为分布式框架之一的Dubbox就可以实现消费方和提供方之间的远程调用,即对分别部署在不一样服务器端的服务提供了一个相互交互的平台。git

<!--more-->github

图解Dubbox框架: web

节点角色说明算法

  • Provider: 暴露服务的提供方
  • Consumer: 调用远程服务的服务消费方
  • Registry: 服务注册与发现的注册中心
  • Monitor: 统计服务调用次数和调用时间的监控中心
  • Container: 服务运行容器

调用关系说明vim

  1. 服务容器负责启动、加载,运行服务提供者
  2. 服务提供者在启动时,向注册中心注册本身提供的服务
  3. 服务消费者在启动时,向注册中心订阅本身所需的服务
  4. 注册中心返回返回服务提供者地址列表给消费者,若是有变动,注册中心将基于长链接推送变动数据给消费者。
  5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,若是调用失败,再选另外一台
  6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

注册中心zookeeper

安装

安装zookeeper

咱们首先要将本地的zookeeper安装包发送到centos虚拟机上。(由于实际开发中服务器是不存在界面的,因此要学会使用命令行操做),这里就用SecureCRT软件操纵咱们的CentOS服务器。centos

  1. 在本机上安装SecureCRT软件(这里我使用的是MacOS系统,服务器使用的是Centos系统)。
  2. 使用SecureCRT链接本身虚拟机上的服务器。
  • 首先咱们要配置CentOS服务器是联网状态,不然没法链接。
  • 在centos的终端中输入ifconfig命令就能显示出来本身服务器的ip地址。
  • 使用SecureCRT新建一个链接,输入ip地址以及用户名、密码就能链接上。
  1. 图解 建立新链接

填写链接信息浏览器

链接成功(服务器必须是联网状态)tomcat

  1. 使用SecureCRT上传文件到服务器
  • 服务器链接成功后,咱们即可以将本地的zookeeper安装包上传到服务器上。在SecureCRT的命令窗口中输入命令rz,即会弹出来窗口选择要上传到服务器上的文件。详细请看 博文)
  • 上传完毕咱们继续在SecureCRT窗口中输入ll命令能够看到本身上传的zookeeper-xx.tar.gz安装包。
  1. 配置
  • 首先须要明白:由于在安装CentOS虚拟机是输入了用户名和密码,且没有其余配置,因此默认登陆的用户就是偶同用户身份,那么上传的文件实际上是在/home/用户名/zookeeper-xx.tar.gz
  • 为了方便操做。本人进行了如下配置:

    解压缩文件:输入tar zxvf zookeeper-xx.tar.gz 重命名文件夹:mv zookeeper-xx zookeeper 得到root权限:su -输入密码便可得到root权限 移动文件夹:mv zookeeper /root/,那么此时zookeeper文件夹的位置是:/root/zookeeper服务器

启动

通过以上步骤,咱们已经将zookeeper成功上传到了服务器并作了一些准备工做。下面咱们开始部署并启动zookeeper。

  1. /root/zookeeper/根目录下输入命令mkdir data,建立data文件夹。

  2. 输入命令:cd /root/zookeeper/conf/,再输入命令ll能够查看此目录下的文件。

  3. 重命名zoo_sample.cfg:输入命令mv zoo_sample.cfg zoo.cfg,则文件将命名为zoo.cfg

  4. 修改zoo.cfg:输入命令vim zoo.cfg,在vim下找到并修改成以下:dataDir=/root/zookeeper/data(注意路径),退出并保存。

  5. 启动zookeeper:进入bin目录,输入cd bin;启动zookeeper,输入./zkServer.sh start,正常状况加即可以启动。

  6. 中止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中的坐标:

<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>dubbo</artifactId>
	<version>2.8.4</version>			
</dependency>

Dubbo-admin的部署

dubbo-admin是dubbo的管理工具,Github项目地址:https://github.com/alibaba/dubbo

可是我发现这个GitHub地址其实被重置了,真正访问的项目中并无显示dubbo-admin,因此这里找了一个现成的war包dubbo-admin.war,传送门:百度云链接 密码:k8qs

安装过程

实际就是部署简单的war包到Tomcat下,至于Linux怎么安装Tomcat请参看百度,主要是如下几点:

  1. 在服务器端安装Tomcat。
  2. 将下载的dubbo-admin.war包部署到服务器上Tomcat的webapps目录下。
  3. cd tomcat/bin进入bin目录中,输入./startup.sh即启动了Tomcat服务器。
  4. 在本地浏览器上输入服务器Ip:8080/dubbo-admin/,会弹出来登陆框,注意: 用户名:root;密码:root

如图所示:

登陆后:

<br/>

交流

若是你们有兴趣,欢迎你们加入个人Java交流群:671017003 ,一块儿交流学习Java技术。博主目前一直在自学JAVA中,技术有限,若是能够,会尽力给你们提供一些帮助,或是一些学习方法,固然群里的大佬都会积极给新手答疑的。因此,别犹豫,快来加入咱们吧!

<br/>

联系

If you have some questions after you see this article, you can contact me or you can find some info by clicking these links.

相关文章
相关标签/搜索