Dubbo框架应用之(三)--Zookeeper注冊中心、管理控制台的安装及解说


      我是在linux下使用dubbo-2.3.3以上版本号的zookeeper注冊中心客户端。

Zookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注冊中心。

Dubbo未对Zookeeper服务器端做不论什么侵入改动。仅仅需安装原生的Zookeeper服务器就可以。全部注冊中心逻辑适配都在调用Zookeeper客户端时完毕。

Zooleeper安装


下载解压

wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz

tar zxvf zookeeper-3.3.3.tar.gz
cd zookeeper-3.3.3
cp conf/zoo_sample.cfg conf/zoo.cfg


配置:

vi conf/zoo.cfg


zoo.cfg的内容例如以下:(当中data文件夹需改成你真实输出文件夹)


# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
#initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
#syncLimit=5
# the directory where the snapshot is stored.
dataDir=/home/dubbo/zookeeper-3.3.3/data

# the port at which the clients will connect
clientPort=2181



假设须要集群。zoo.cfg的内容例如以下:(当中data文件夹和server地址需改成你真实部署机器的信息)


tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/dubbo/zookeeper-3.3.3/data
clientPort=2181
server.1=ip1
server.2=ip2



并在data文件夹下放置myid文件:(上面zoo.cfg中的dataDir)


mkdir data
vi myid

启动


./bin/zkServer.sh start




停止
./bin/zkServer.sh stop


管理控制台安装

     管理控制台为内部裁剪版本号,开源部分主要包括:路由规则。动态配置,服务降级。訪问控制。权重调整。负载均衡,等管理功能。

安装


wget http://apache.etoak.com/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz
tar zxvf apache-tomcat-6.0.35.tar.gz
cd apache-tomcat-6.0.35
rm -rf webapps/ROOT

wget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-admin/2.4.1/dubbo-admin-2.4.1.war

unzip dubbo-admin-2.4.1.war -d webapps/ROOT


配置: (或将dubbo.properties放在当前用户文件夹下)


vi webapps/ROOT/WEB-INF/dubbo.properties
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest


启动


./bin/startup.sh



停止
./bin/shutdown.sh


訪问(注意我个人改动了默认的端口)(用户:root,密码:root

http://127.0.0.1:8090/

注冊中心抽象

     Dubbo将注冊中心进行抽象,使得它能够外接不同的存储媒介给注冊中心提供服务,有ZooKeeper。Memcached,Redis等。Dubbo抽象后,用户能够进行扩展,我们通过分析ZooKeeper这个实现来了解注冊中心的低层。
     进过抽象之后,用户 仅仅须要实现相应的Registry和RegistryFactory就能够了,ZooKeeper就是实现了ZookeeperRegistry,和ZookeeperRegistryFactory。
     ZookeeperRegistryFactory的实现非常简单。就是返回一个ZookeeperRegistry实例,所以基本的东西是在ZookeeperRegistry中实现的,在ZookeeperRegistry用户须要实现注冊URL。注销URL,URL订阅,URL注销订阅和URL查询,在这里面设计到Zookeeper服务端的调用,都被封装到ZookeeperClient中,ZookeeperClient服务进行Server连接,断链。资源的CRUD。

ZooKeeper的价值

      因为引入了ZooKeeper作为存储媒介,也就把ZooKeeper的特性引进来。
      首先是负载均衡。单注冊中心的承载能力是有限的,在流量达到一定程度的时候就须要分流,负载均衡就是为了分流而存在的,一个ZooKeeper群配合相应的Web应用就能够非常easy达到负载均衡。
     资源同步。单单有负载均衡还不够。节点之间的数据和资源须要同步,ZooKeeper集群就天然具备有这种功能。
     命名服务,将树状结构用于维护全局的服务地址列表,服务提供者在启动的时候,向ZK上的指定节点/dubbo/${serviceName}/providers文件夹下写入自己的URL地址,这个操作就完毕了服务的公布。其它特性还有Mast选举。分布式锁等。


posted @ 2017-08-16 18:32  mfmdaoyou  阅读(657)  评论(0编辑  收藏  举报