===dubbo的搭建=
一、zookeeper的安装
1、启动zk得需要在根目录下创建一个data目录
2、把conf下的zoo_simple.cfg改下名字,改成zoo.cfg
3、编辑zoo.cfg文件,把里面的dataDir指向的路径改成刚刚创建的data目录
4、启动zookeeper
5、如果zk一开始可以正常启动,后来启动不了,把data目录下以pid结尾的文件删除即可
Zookeeper是java开发的可以运行在windows、linux环境。需要先安装jdk。
安装步骤:
第一步:安装jdk
第二步:把zookeeper的压缩包上传到linux系统。
第三步:解压zookeeper
tar -zxvf zookeeper-3.4.6.tar.gz
第四步:进入zookeeper-3.4.6目录,创建data文件夹。
第五步:把zoo_sample.cfg改名为zoo.cfg
mv zoo_sample.cfg zoo.cfg
第六步:在zoo.cfg文件里修改data属性:
dataDir=/home/zookeeper/data
第七步:启动zookeeper
启动zookeeper:./zkServer.sh start
关闭zookeeper ./zkServer.sh stop
查看zookeeper状态: ./zkServer.sh status
注意:需要关闭防火墙。
service iptables stop
永久关闭修改配置开机不启动防火墙:
chkconfig iptables off
如果不能成功启动zookeeper,需要删除data目录下的zookeeper_server.pid文件。
(4)启动service接口,启动成功后服务自动注册到了zk上
(5)启动zk客户端,查看zk的链接情况,看看应用是否被注册成功
zkCli.sh -server 127.0.0.1:2181
使用命令查看是否有服务注册
输入命令:ls /,如果显示[dubbo,zookeeper]表明接口服务被注册成功
如果你想改dubbo注册服务,得先删除原有的注册,否则注册容易出问题,
在客户端删除注册的dubbo服务:rmr /dubbo
二、配置dubbo
1、创建一个web的service,创建一个web的controller
3、加入dubbo和zk的依赖,并去除dubbo中依赖的spring包,否则会报错
com.alibaba dubbo org.springframework spring org.jboss.netty netty org.apache.zookeeper zookeeper com.github.sgroschupf zkclient 4、发布服务,在service的配置 2、在service的spring.xml和springmvc.xml中加入dubbo约束配置 xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd5、客户端,springmvc.xml中添加调用服务
dubbo:application name=“e3-manager-web”/
<dubbo:registry protocol=“zookeeper” address=“192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183”/>
<dubbo:reference interface=“cn.e3mall.service.ItemService” id=“itemService” />
6、对象一定要序列化
三、web层调用接口不能用debug
就在web层加入接口层的源码就可以了,如果调用接口超时就添加超时时间规则就可以了
<dubbo:reference interface=“cn.e3mall.service.ItemService” id=“itemService” timeout=“20000” />
四、监控中心的使用
1、推荐注册中心和监控中心在一台服务器上,这样监控中心的配置不需要来回改
2、如果注册中心和监控中心不在一个服务器上,修改dubbo-admin/WEB-INF下的dubbo.properties里的dubbo.registry.address=注册中心地址。
1、dubbo+zookeeper的使用
(1)创建聚合项目(web层和service层都是war)
(2)声明service接口,注册到zookeeper上
(3)搭建zookeeper
(6)搭建客户端controller链接服务端
(7)监控中心
访问监控中心:http://ip:8080/dubbo-admin/
root root
2、dubbo的服务端创建
(1)创建maven的聚合项目,分为mapper、interface(都是jar类型),再创建一个service层是war类型的
(2)在web.xml中引入spring
(3)在spring.xml中写dubbo配置,发布接口
(4)写代码接口,进行代码书写
(5)运行项目,发布项目
2、具体怎么使用的?
(1)接口发布用的标签是在spring层写:
①//往dubbo注册中心注册的应用名字
<dubbo:application name=“e3-search” />
②//指向dubbo的地址
<dubbo:registry protocol=“zookeeper” address=“120.78.167.80:2181” />
③
<dubbo:protocol name=“dubbo” port=“20882” />
④
<dubbo:service interface=“cn.e3mall.search.service.SearchItemService” ref=“searchItemServiceImpl” timeout=“600000”/>
(2)调用端是怎么做的?
①//往dubbo注册中心注册的应用名字
<dubbo:application name=“e3-search-web” />
②//指向dubbo的地址
<dubbo:registry protocol=“zookeeper” address=“120.78.167.80:2181” />
③调用哪个接口
<dubbo:reference interface=“cn.e3mall.search.service.SearchService” id=“searchService” />
=dubbo的搭建结束===