四个步骤
一: 搭建zookeeper 消息中心
1 下载zookeeper安装文件
2 执行命令 tar zxvf zookeeper-3.4.6.tar.gz 解压,
3 到 zookeeper-3.3.6/conf 目录下
4 配置说明
5 在zookper-3.3.6/bin目录下执行
6 验证zookeeper是否启动
二 DubboServer 工程
1 测试代码编写
2 dubbo的xml文件配置
3 导出接口层的jar
三 DubboClient工程
1 dubboclient端代码
2 dubbo的xml配置
3 测试运行client端代码(zookeeper 和 dubboServer端已经启动)
四 dubbo-admin-2.5.4.war 管理控制台
dubbo简介
节点角色说明:
Provider:
暴露服务的服务提供方。
Consumer:
调用远程服务的服务消费方。
Registry:
服务注册与发现的注册中心。
Monitor:
统计服务的调用次调和调用时间的监控中心。
Container:
服务运行容器。
调用关系说明:
0.
服务容器负责启动,加载,运行服务提供者。
1.
服务提供者在启动时,向注册中心注册自己提供的服务。
2.
服务消费者在启动时,向注册中心订阅自己所需的服务。
3.
注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4.
服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5.
服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
四个步骤
1 搭建zookeeper消息中心
2 搭建dubbo服务端代码
3 写dubbo客户端代码
4 dubbo提供的dubbo-admin-2.5.4.war 管理控制台
一: 搭建zookeeper 消息中心
1 下载zookeeper安装文件
zookeeper-3.3.6.tar.gz
2 执行命令
tar zxvf zookeeper-3.4.6.tar.gz 解压,
3 到 zookeeper-3.3.6/conf 目录下
把zoo_sample.cfg 复制一份为zoo.cfg,作为默认配置文件
4 配置说明
tickTime
:这个时间是作为
Zookeeper
服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个
tickTime
时间就会发送一个心跳。
dataDir
:顾名思义就是
Zookeeper
保存数据的目录,默认情况下,
Zookeeper
将写数据的日志文件也保存在这个目录里。
clientPort
:这个端口就是客户端连接
Zookeeper
服务器的端口,
Zookeeper
会监听这个端口,接受客户端的访问请求。
我的配置: 端口2181是默认配置
(添加dataLogDir会导致读取失败)
5 在zookper-3.3.6/bin目录下执行
./zkServer.sh start 启动zookeeper
6 验证zookeeper是否启动
使用netstat -lpn | grep 2181
如果有端口号, 说明已经启动
ps: 因为我linux 是装在虚拟机里面, zookeer在虚拟机里, DubboServer , DubboClient , DubboAdmin 都是在windows上, 注意要开放linux的2181端口
二 DubboServer 工程
DubboServer段是一个web工程,服务提供者, 我这里是dubbo和spring结合搭建.
spring的搭建过程,可参见
springmvc + mybatis配置
我这里仅是搭建spring和dubbo的例子,使用的最少的配置
1 测试代码编写
2 dubbo的xml文件配置
<
beans xmlns="http:
//
www.springframework.org
/
schema
/
beans
"
xmlns:p
=
"http://www.springframework.org/schema/p"
xmlns:dubbo
=
"http://code.alibabatech.com/schema/dubbo"
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
=
"http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd"
><
dubbo:application name="wt-dubbo-server"
/>
<
dubbo:registry address="zookeeper:
//
192.168.20.129:2181
"
check
=
"false"
/><
dubbo:protocol name="dubbo" port="20880" serialization="hessian2"
/>
<
dubbo:service interface="com.DubboServer" ref="dubboServer"
/>
beans
>
3 导出接口层的jar
把server层的代码导出jar, 后面放到dubboClient中!!
然后启动项目
三 DubboClient工程
dubboClient可以是web工程也可以是普通的javaproject.
我也是用的spring集成,但是使用的是junit进行测试,
1 dubboclient端代码
2 dubbo的xml配置
<
beans xmlns="http:
//
www.springframework.org
/
schema
/
beans
"
xmlns:p
=
"http://www.springframework.org/schema/p"
xmlns:dubbo
=
"http://code.alibabatech.com/schema/dubbo"
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
=
"http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd"
><
dubbo:application name="dys-client"
/>
<
dubbo:registry address="zookeeper:
//
192.168.20.129:2181
"
check
=
"false"
/>
<
dubbo:reference id="dubboServer" interface="com.DubboServer"
/>
beans
>
3 测试运行client端代码(zookeeper 和 dubboServer端已经启动)
运行成功!
四 dubbo-admin-2.5.4.war 管理控制台
把这个war包放到tomcat的webapps目录下
1 修改tomcat的端口号不要和其他服务冲突.
2 修改 WEB-INF 下的dubbo.properties文件
dubbo.registry.address=zookeeper:
//192.168.20.129:2181
dubbo.admin.root.password=rootdubbo.admin.guest.password=guest
3 启动tomcat,访问.
点击 服务治理--提供者 可看到如下, 还有一些其他的信息,再查阅吧,暂时我也不是很清楚