Dubbo+Zookeeper+Spring的demo(本地工程+web工程)

来源:互联网 发布:神界3原罪 mac 汉化 编辑:程序博客网 时间:2024/05/22 04:40
最近正在学习Dubbo,参照官方文档在本地搭建了一个demo,方便学习,下面是学习过程记录,希望对其他学习的朋友有所帮助。
注:对于Dubbo、Zookeeper等概念大家可自行百度,本文不做描述。

一、下载并安装Zookeeper:
    下载地址:http://www.apache.org/dist/zookeeper/
    我这里下载的是3.4.6:http://www.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
    下载后解压缩到本地,如下图:

 
然后,进入【conf】文件夹,将文件【zoo_sample.cfg】改为【zoo.cfg】,因为Zookeeper 在启动时会找zoo.cfg这个文件作为默认配置文件。

最后,进入【bin】文件夹,双击【zkServer.cmd】文件,启动Zookeeper。

  启动后,如下图所示:
注:启动后不要关闭该窗口,然后继续第二步

二、配置dubbo-admin的管理页面
首先,下载【dubbo-admin-2.5.3.war】包,然后直接扔到tomcat的webapps目录中,如下图:
注:经测试,最好将Tomcat的【\webapps\ROOT】目录中的内容全部删除,然后将war包中的内容解压到其中,这样管理界面就成了Tomcat的默认应用,并且管理页面中的一些操作也不会发生404错误了。
 
然后,启动tomcat,访问地址:http://localhost:8080/dubbo-admin-2.5.3/    用户名和密码都是:root

登陆后,点击【服务治理】-->【提供者】/【消费者】,可以从这里查看【提供者】和【消费者】信息:

注:【dubbo-admin-2.5.3/WEB-INF/dubbo.properties】文件用于指定zookpeeper地址信息,如下:
  由于我们默认就是这个地址,所以就不需要修改了。

三、创建三个本地工程,分别对应【接口】、【提供者】和【消费者】三种角色,如下:

说明:
1、【dubbo-interface】工程用于定义API接口;
2、【dubbo-provider】工程用于定义API接口实现,并在【applicationContext.xml】配置文件中向注册中心(这里是Zookeeper)中注册自己为提供者,如下:

3、【dubbo-customer】工程就是消费者,相当于我们平时调用api的客户端,他也要在【applicationContext.xml】配置文件中向注册中心(这里是Zookeeper)中注册自己为消费者,配置内容和【dubbo-provider】差不多,但更简单,如下:

四、运行
首先运行【dubbo-provider】工程的主程序,如下:

 
运行后,可以到管理页面查看:

 
然后,运行【dubbo-customer】工程的主程序,模拟消费者进行API调用,如下:


运行结果如下:
 

至此,整个demo全部完成。
另外,我也搭建了一个web工程demo,大家可以从下面下载:
1、本地工程demo:http://download.csdn.net/detail/accp_fangjian/9548171
2、web工程demo:http://download.csdn.net/detail/accp_fangjian/9548205
3、Zookeeper 3.4.6:http://www.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
4、Dubbo-admin-2.5.3.war:http://download.csdn.net/detail/u013286716/7041185


 
PS:
如果有人遇到配置文件中Dubbo命名空间报错,可以参考这篇文章:http://www.cnphp6.com/archives/60098



 
 

1 0