【Java】Dubbo+zookeeper搭建分布式服务框架
一、前言
前一段时间,小编工作的架构换成了Dubbo的分布式架构,项目也改成了[SOA(面向服务的架构)][SOA],在项目中分成了六个服务,每个服务可以单独运行,服务之间也可以互相调用。下面小编就Dubbo官网提供的一个简单的Demo来带领大家实现一个分布式服务框架。
二、环境要求
- idea ,Eclipse也可以
- Centos 7
- zookeeper安装包
- Linux 环境下的 jdk-8u131-linux-x64.rpm
联网下载Dubbo官网提供的代码
说明:
为啥我们要搭建一个分布式服务架构还需要装zookeeper呢?
这个就得从Dubbo的机制来说明了,从下图可以看出,Dubbo架构中分成了提供者和消费者,提供者需要把自己的服务注册到注册中心,消费者订阅注册中心,注册中心有提供者后,会通知消费者。
三、安装zookeeper
安装ZK需要安装jdk。
3.1 Centos 7 安装 Jdk
1、下载jdk并上传到/usr/local/src目录
使用WinSCP软件,把下载好的jdk-8u131-linux-x64.rpm,上传到/usr/local/src下。
2、解压安装
运行如下命令进行解压
rpm -ivh jdk-8u131-linux-x64.rpm
3、配置profile文件
运行如下命令:
vim /etc/profile
将如下内容添加内容添加到profile文件末尾
export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
保存之后,运行如下命令使配置生效
source /etc/profile
检查jdk是否安装成功,运行如下命令
java -version
3.2 安装zk
3.1下载ZooKeeper
要在您的计算机上安装ZooKeeper框架,请访问以下链接并下载最新版本的ZooKeeper。 [http://zookeeper.apache.org/releases.html][http_zookeeper.apache.org_releases.html]
到目前为止,最新版本的ZooKeeper是3.4.6(ZooKeeper-3.4.6.tar.gz)。
步骤2.2:解压tar文件
使用以下命令提取tar文件 -
$ cd opt/
$ tar -zxf zookeeper-3.4.6.tar.gz
$ cd zookeeper-3.4.6
$ mkdir data
步骤2.3:创建配置文件
在zookeeper/conf下的建立一个zoo.cfg文件
使用命令 vi conf / zoo.cfg 打开名为 conf / zoo.cfg 的配置文件,并将所有以下参数设置为起点。
$ vi conf/zoo.cfg
tickTime = 2000
dataDir = /path/to/zookeeper/data
clientPort = 2181
initLimit = 5
syncLimit = 2
一旦成功保存配置文件,再次返回终端。 您现在可以启动zookeeper服务器。
步骤2.4:启动ZooKeeper服务器
执行以下命令 :
$ bin/zkServer.sh start
执行此命令后,您将收到一个响应如下 :
$ JMX enabled by default
$ Using config: /Users/../zookeeper-3.4.6/bin/../conf/zoo.cfg
$ Starting zookeeper ... STARTED
步骤2.5:启动CLI
键入以下命令 :
$ bin/zkCli.sh
输入上述命令后,您将连接到ZooKeeper服务器,您应该得到以下响应。
Connecting to localhost:2181
................
................
................
Welcome to ZooKeeper!
................
................
WATCHER:: WatchedEvent state:SyncConnected type: None path:null
[zk: localhost:2181(CONNECTED) 0]
停止ZooKeeper服务器
连接服务器并执行所有操作后,可以使用以下命令停止zookeeper服务器。
$ bin/zkServer.sh stop
四、Dubbo项目
在Dubbo官网中下载项目中:
导入idea:
使用dubbo-demo进行测试:项目中分为了提供者和消费者:
修改注册中心的路径:
先运行生产者:
运行消费者:
在生产者得到的反馈:
五、小结
通过这次的动手实践,对Dubbo的运行环境有了一个初步的了解,也更加对项目中的框架认识更加的深刻。这篇博客中,小编没有贴代码,没有对代码中的信息进行分析,这些将在后面的博客中向大家依次介绍。敬请期待。
还没有评论,来说两句吧...