• 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

      测试成功

       

  • 相关阅读:
    条件注释判断IE版本
    win7及以上系统打开chm空白或显示"无法打开"的2个解决方案
    复制和删除txt文件
    casperjs 抓取爱奇艺高清视频
    chrome扩展程序之http/https 报文拦截
    bootstrap 的 datetimepicker 结束时间大于开始时间
    Jquery EasyUI的datagrid页脚footer使用及数据统计
    Web应用程序在加入反向代理服务器的时候如何获得真实IP
    c#4.0 新特性 可选参数 可曾用过?
    Pyhon
  • 原文地址:https://www.cnblogs.com/cracker13/p/9916455.html
Copyright © 2020-2023  润新知