下载地址:https://github.com/alibaba/dubbo/releaseshtml
pom.xml:http://files.cnblogs.com/files/belen/pom.xmlgit
Pom.xmlgithub
<dependency>web
<groupId>org.apache.zookeeper</groupId>算法
<artifactId>zookeeper</artifactId>spring
<version>3.4.6</version>apache
</dependency>浏览器
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。tomcat
实例中,zookeeper将做为dubbo服务的注册中心。同时负责集群调度。服务器
Zookeeper能够提供配置管理、命名服务、分布式算法、集群管理功能。具体说明参看以下文章:
参看下一篇博文:
http://www.cnblogs.com/belen/p/4804063.html
经过eclipse建立maven项目dubboclient,结构以下:
applicationContext.xml:
http://files.cnblogs.com/files/belen/applicationContext.xml
注入spring后,经过ApplicationContext获取对应服务接口,调用服务方法。
经过eclipse建立maven项目dubboserver,结构以下:
applicationContext.xml:
http://files.cnblogs.com/files/belen/applicationProvider.xml
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "applicationProvider.xml" });
context.start();
一、 启动zookeeper,参看下一篇博文
http://www.cnblogs.com/belen/articles/4804063.html
二、 启动Consumer
是在初始化spring的应用上下文。
三、 客户端调用服务
单机服务器下模拟Dubbo集群,经过屡次运行main函数,启动多个服务。本实例将启动三个服务器。为了区分客户端调用的是哪一个服务,将服务接口返回值作一些区分:
服务1返回hello1 tom
服务2返回hello2 tom
服务3返回hello3 tom
另外三个服务对外暴露的端口也作出调整(spring配置文件):
服务1端口为:2090
服务2端口为:2089
服务3端口为:2088
客户端随机调用服务接口10次,输出以下结果:
将服务1中止运行,客户端随机调用服务接口10次,输出以下结果:
输出结果代表,dubbo集群具备负载均衡和灾备功能(failover)。使用zk实现
上面内容看起来没那么直观。若是有一个控制台来管理和展示就太棒了。不得不说dubbo仍是挺贴心的。
官网下载地址:
http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-admin/2.4.1/dubbo-admin-2.4.1.war
可是该地址最近一直没法下载。
http://download.csdn.net/detail/liweifengwf/7784901能够经过这里下载。
将war包拷贝到tomcat/webapps目录下,启动tomcat。浏览器中输入:
默认用户名和密码:root,root.能够经过/web-inf/dubbo.properties修改用户名和密码。