zoukankan      html  css  js  c++  java
  • 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选举。分布式锁等。


  • 相关阅读:
    Docker笔记
    Fedora dnf配置
    Vue杂谈
    各类技术集锦
    在.NET Core 里使用 BouncyCastle 的DES加密算法
    Srapy爬虫之必备知识
    scrapy爬虫之环境安装
    Git很简单--图解攻略
    Vue.js下载方式及基本概念
    ajax与jsonp定义及使用方法
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/7374975.html
Copyright © 2011-2022 走看看