【Java】Dubbo+zookeeper搭建分布式服务框架

悠悠 2022-06-07 10:12 298阅读 0赞

一、前言

  1. 前一段时间,小编工作的架构换成了Dubbo的分布式架构,项目也改成了[SOA(面向服务的架构)][SOA],在项目中分成了六个服务,每个服务可以单独运行,服务之间也可以互相调用。下面小编就Dubbo官网提供的一个简单的Demo来带领大家实现一个分布式服务框架。

二、环境要求

  • idea ,Eclipse也可以
  • Centos 7
  • zookeeper安装包
  • Linux 环境下的 jdk-8u131-linux-x64.rpm
  • 联网下载Dubbo官网提供的代码

    说明:
    为啥我们要搭建一个分布式服务架构还需要装zookeeper呢?
    这个就得从Dubbo的机制来说明了,从下图可以看出,Dubbo架构中分成了提供者消费者,提供者需要把自己的服务注册到注册中心,消费者订阅注册中心,注册中心有提供者后,会通知消费者。

这里写图片描述

三、安装zookeeper

  1. 安装ZK需要安装jdk

3.1 Centos 7 安装 Jdk

1、下载jdk并上传到/usr/local/src目录

  1. 使用WinSCP软件,把下载好的jdk-8u131-linux-x64.rpm,上传到/usr/local/src下。

2、解压安装

  1. 运行如下命令进行解压
  2. rpm -ivh jdk-8u131-linux-x64.rpm

这里写图片描述

3、配置profile文件

  1. 运行如下命令:
  2. vim /etc/profile
  3. 将如下内容添加内容添加到profile文件末尾
  4. export JAVA_HOME=/usr/java/jdk1.8.0_131
  5. export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  6. export PATH=$PATH:$JAVA_HOME/bin

这里写图片描述

  1. 保存之后,运行如下命令使配置生效
  2. source /etc/profile
  3. 检查jdk是否安装成功,运行如下命令
  4. java -version

3.2 安装zk

3.1下载ZooKeeper

  1. 要在您的计算机上安装ZooKeeper框架,请访问以下链接并下载最新版本的ZooKeeper [http://zookeeper.apache.org/releases.html][http_zookeeper.apache.org_releases.html]
  2. 到目前为止,最新版本的ZooKeeper3.4.6(ZooKeeper-3.4.6.tar.gz)。

步骤2.2:解压tar文件

  1. 使用以下命令提取tar文件 -
  2. $ cd opt/
  3. $ tar -zxf zookeeper-3.4.6.tar.gz
  4. $ cd zookeeper-3.4.6
  5. $ mkdir data

步骤2.3:创建配置文件

在zookeeper/conf下的建立一个zoo.cfg文件

  1. 使用命令 vi conf / zoo.cfg 打开名为 conf / zoo.cfg 的配置文件,并将所有以下参数设置为起点。
  2. $ vi conf/zoo.cfg
  3. tickTime = 2000
  4. dataDir = /path/to/zookeeper/data
  5. clientPort = 2181
  6. initLimit = 5
  7. syncLimit = 2
  8. 一旦成功保存配置文件,再次返回终端。 您现在可以启动zookeeper服务器。

步骤2.4:启动ZooKeeper服务器

  1. 执行以下命令
  2. $ bin/zkServer.sh start
  3. 执行此命令后,您将收到一个响应如下
  4. $ JMX enabled by default
  5. $ Using config: /Users/../zookeeper-3.4.6/bin/../conf/zoo.cfg
  6. $ Starting zookeeper ... STARTED

步骤2.5:启动CLI

  1. 键入以下命令
  2. $ bin/zkCli.sh
  3. 输入上述命令后,您将连接到ZooKeeper服务器,您应该得到以下响应。
  4. Connecting to localhost:2181
  5. ................
  6. ................
  7. ................
  8. Welcome to ZooKeeper!
  9. ................
  10. ................
  11. WATCHER:: WatchedEvent state:SyncConnected type: None path:null
  12. [zk: localhost:2181(CONNECTED) 0]
  13. 停止ZooKeeper服务器
  14. 连接服务器并执行所有操作后,可以使用以下命令停止zookeeper服务器。
  15. $ bin/zkServer.sh stop

四、Dubbo项目

  1. Dubbo官网中下载项目中:

这里写图片描述

  1. 导入idea

这里写图片描述

  1. 使用dubbo-demo进行测试:项目中分为了提供者和消费者:

这里写图片描述

  1. 修改注册中心的路径:

这里写图片描述

  1. 先运行生产者:

这里写图片描述

  1. 运行消费者:

这里写图片描述

  1. 在生产者得到的反馈:

这里写图片描述

五、小结

  1. 通过这次的动手实践,对Dubbo的运行环境有了一个初步的了解,也更加对项目中的框架认识更加的深刻。这篇博客中,小编没有贴代码,没有对代码中的信息进行分析,这些将在后面的博客中向大家依次介绍。敬请期待。

发表评论

表情:
评论列表 (有 0 条评论,298人围观)

还没有评论,来说两句吧...

相关阅读

    相关 分布式 服务框架

    网站功能丰富后出现的问题以及解决方法 ![这里写图片描述][SouthEast] 当应用功能增加后,对网站的稳定性会产生一定的影响,这时会选择把应用拆小,保持每个应用都

    相关 SpringCloud微服务框架

    一、微服务架构 1.1什么是分布式 不同模块部署在不同服务器上 作用:分布式解决网站高并发带来问题 1.2什么是集群 多台服务器部署相同应用构成一个集群