Dubbo入门实例(二)

Dubbo安装

下载地址:https://github.com/alibaba/dubbo/releases

pom.xml:https://files.cnblogs.com/files/belen/pom.xml

Zookeeper(注册中心)

Pom.xml

         <dependency>

                   <groupId>org.apache.zookeeper</groupId>

                   <artifactId>zookeeper</artifactId>

                   <version>3.4.6</version>

         </dependency>

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。

实例中,zookeeper将作为dubbo服务的注册中心。同时负责集群调度。

为什么要用zookeeper?

Zookeeper可以提供配置管理、命名服务、分布式算法、集群管理功能。具体说明参看如下文章:

http://zhidao.baidu.com/question/919262980452730419.html?fr=iks&word=zookeeper+dubbo+%B9%D8%CF%B5&ie=gbk

zookeeper安装

参看下一篇博文:

http://www.cnblogs.com/belen/p/4804063.html

Consumer

目录结构

通过eclipse创建maven项目dubboclient,结构如下:

 

集成Spring

applicationContext.xml:

https://files.cnblogs.com/files/belen/applicationContext.xml

 

调用方式

注入spring后,通过ApplicationContext获取对应服务接口,调用服务方法。

Provider

目录结构

通过eclipse创建maven项目dubboserver,结构如下:

 

集成Spring

applicationContext.xml:

https://files.cnblogs.com/files/belen/applicationProvider.xml

启动方法

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(

                                     new String[] { "applicationProvider.xml" });

context.start();

实例启动顺序

1、  启动zookeeper,参看下一篇博文

 

http://www.cnblogs.com/belen/articles/4804063.html

2、  启动Consumer

是在初始化spring的应用上下文。

3、  客户端调用服务

 

Dubbo伪集群(单zookeeper)

单机服务器下模拟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控制台

上面内容看起来没那么直观。如果有一个控制台来管理和展现就太棒了。不得不说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。浏览器中输入:

http://localhost:8080/dubbo/

默认用户名和密码:root,root.可以通过/web-inf/dubbo.properties修改用户名和密码。

 

posted @ 2015-09-13 09:29  熊仔下去遛弯了  阅读(1428)  评论(3编辑  收藏  举报