zoukankan      html  css  js  c++  java
  • ZooKeeper+Dubbox分布式框架

    1.Dubbox概况

      dubbox是一个远程服务调用的分布式框架,致力于SOA架构服务治理方案,满足服务与web层完全分离的需求。

    节点角色说明:

       Provider: 暴露服务的服务提供方。

    · Consumer: 调用远程服务的服务消费方。

    · Registry: 服务注册与发现的注册中心。

    · Monitor: 统计服务的调用次调和调用时间的监控中心。

    · Container: 服务运行容器。

    调用关系说明:

    · 0. 服务容器负责启动,加载,运行服务提供者。

    · 1. 服务提供者在启动时,向注册中心注册自己提供的服务。

    · 2. 服务消费者在启动时,向注册中心订阅自己所需的服务。

    · 3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

    · 4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,

    如果调用失败,再选另一台调用。

    · 5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计

    数据到监控中心。

    2.注册中心ZooKeeper

      官方推荐使用 zookeeper 注册中心。注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。

      Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为Dubbox 服务的注册中心,工业强度较高,可用于生产环境。

    安装:

      进入官网下载地址:http://mirror.bit.edu.cn/apache/zookeeper/ 选一个版本

      放到Centos服务器上

        scp /Users/chen/Downloads/zookeeper-3.4.10.tar.gz root@192.168.56.102:/root

      登录服务器

        cd /root

        tar -zxvf zookeeper-3.4.10.tar.gz

      创建data文件夹

        cd zookeeper-3.4.6/

        mkdir data

      配置文件改名

        cd conf

        mv zoo_sample.cfg zoo.cfg

      编辑

        vim zoo.cfg

      修改 data 属性:dataDir=/root/zookeeper-3.4.6/data

      wq命令保存

      启动

        cd /root/zookeeper-3.4.6/bin/ && ./zkServer.sh start  

      

      出现这个说明成功启动

    3.测试案例

      

      Maven的中央仓库中找不到Dubbox的jar包,需要手动将Dubbox的jar包安装到本地仓库中。

        mvn install:install-file -Dfile=/Users/chen/Downloads/dubbo-2.8.4.jar -DgroupId=com.alibaba -DartifactId=dubbo -Dversion=2.8.4 -Dpackaging=jar

      

      创建Maven项目,编写服务提供者和服务消费者,我保存到了github上面,大家可以参考修改

      提供者

        https://github.com/cracker13/dubboxdemo-service

      消费者

        https://github.com/cracker13/dubboxdemo-web

      访问地址

        http://localhost:8082/user/showName.do

      测试成功

       

  • 相关阅读:
    索引与搜索框架Lucene
    AutoResetEvent和ManualResetEvent的理解
    hadoop mapreduce 过程详解
    使用Visual Studio进行代码度量
    MethodImplAttribute 类和 SynchronizationAttribute 类
    开发定时服务应用
    DispatcherTimer与Dispatcher小小应用
    WCF问题
    玩转博客园的心路总结
    工作中碰到的一些东西【弹出窗口】【拖放】【异步文件上传】
  • 原文地址:https://www.cnblogs.com/cracker13/p/9916455.html
Copyright © 2011-2022 走看看