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

时间:2022-08-19 08:27:00
最近正在学习Dubbo,参照官方文档在本地搭建了一个demo,方便学习,下面是学习过程记录,希望对其他学习的朋友有所帮助。
注:对于Dubbo、Zookeeper等概念大家可自行百度,本文不做描述。

一、下载并安装Zookeeper:
    下载地址: http://www.apache.org/dist/zookeeper/
    下载后解压缩到本地,如下图:
Dubbo+Zookeeper+Spring的demo(本地工程+web工程)
 
然后,进入【conf】文件夹,将文件【zoo_sample.cfg】改为【zoo.cfg】,因为Zookeeper 在启动时会找zoo.cfg这个文件作为默认配置文件。
Dubbo+Zookeeper+Spring的demo(本地工程+web工程)

最后,进入【bin】文件夹,双击【zkServer.cmd】文件,启动Zookeeper。
Dubbo+Zookeeper+Spring的demo(本地工程+web工程)
  启动后,如下图所示:
Dubbo+Zookeeper+Spring的demo(本地工程+web工程)
注:启动后不要关闭该窗口,然后继续第二步

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

登陆后,点击【服务治理】-->【提供者】/【消费者】,可以从这里查看【提供者】和【消费者】信息:
Dubbo+Zookeeper+Spring的demo(本地工程+web工程)

注:【dubbo-admin-2.5.3/WEB-INF/dubbo.properties】文件用于指定zookpeeper地址信息,如下:
Dubbo+Zookeeper+Spring的demo(本地工程+web工程)
Dubbo+Zookeeper+Spring的demo(本地工程+web工程)
  由于我们默认就是这个地址,所以就不需要修改了。

三、创建三个本地工程,分别对应【接口】、【提供者】和【消费者】三种角色,如下:
Dubbo+Zookeeper+Spring的demo(本地工程+web工程)
说明:
1、【dubbo-interface】工程用于定义API接口;
2、【dubbo-provider】工程用于定义API接口实现,并在 【applicationContext.xml】 配置文件中向注册中心(这里是Zookeeper)中注册自己为提供者,如下:
Dubbo+Zookeeper+Spring的demo(本地工程+web工程)
3、 【dubbo-customer】工程就是消费者,相当于我们平时调用api的客户端,他也要在 【applicationContext.xml】 配置文件中向注册中心(这里是Zookeeper)中注册自己为消费者,配置内容和【dubbo-provider】差不多,但更简单,如下:
Dubbo+Zookeeper+Spring的demo(本地工程+web工程)

四、运行
首先运行【dubbo-provider】工程的主程序,如下:
Dubbo+Zookeeper+Spring的demo(本地工程+web工程)
 
运行后,可以到管理页面查看:
Dubbo+Zookeeper+Spring的demo(本地工程+web工程)
 
然后,运行 【dubbo-customer】工程的主程序,模拟消费 者进行API调用,如下:
Dubbo+Zookeeper+Spring的demo(本地工程+web工程)

运行结果如下:
Dubbo+Zookeeper+Spring的demo(本地工程+web工程)
 

至此,整个demo全部完成。
另外,我也搭建了一个web工程demo,大家可以从下面下载:


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