下載地址: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修改用戶名和密碼。