Dubbo框架介绍与安装 Dubbo 注册中心(Zookeeper-3.4.6)

Posted JAVA自学社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dubbo框架介绍与安装 Dubbo 注册中心(Zookeeper-3.4.6)相关的知识,希望对你有一定的参考价值。

背景

  随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。

  • 单一应用架构
    • 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。
    • 此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。

  • 垂直应用架构
    • 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。
    • 此时,用于加速前端页面开发的 Web框架(MVC) 是关键。

  • 分布式服务架构
    • 当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。
    • 此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键。

  • 流动计算架构
    • 当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。
    • 此时,用于提高机器利用率的 资源调度和治理中心(SOA) 是关键。

需求

  Dubbo框架介绍与安装 Dubbo 注册中心(Zookeeper-3.4.6)

 

架构

节点角色说明:
  • Provider: 暴露服务的服务提供方。
  • Consumer: 调用远程服务的服务消费方。
  • Registry: 服务注册与发现的注册中心。
  • Monitor: 统计服务的调用次调和调用时间的监控中心。
  • Container: 服务运行容器。

 

安装 Dubbo 注册中心(Zookeeper-3.4.6) 

  zookeeper是一个为分布式应用提供一致性服务的软件,它是开源的Hadoop项目中的一个子项目,并且根据google发表的<The Chubby lock service for loosely-coupled distributed systems>论文来实现的。Zookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注册中心。Dubbo未对Zookeeper服务器端做任何侵入修改,只需安装原生的Zookeeper服务器即可,所有注册中心逻辑适配都在调用Zookeeper客户端时完成。Dubbo 建议使用 Zookeeper 作为服务的注册中心。


1、 修改操作系统的/etc/hosts 文件中添加:
  # zookeeper servers
  192.168.3.66 edu-provider-01
2、 到 http://apache.fayea.com/zookeeper/下载 zookeeper-3.4.6:
  $ wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
3、 解压 zookeeper 安装包:
  $ tar -zxvf zookeeper-3.4.6.tar.gz
4、 在/home/wusc/zookeeper-3.4.6 目录下创建以下目录:
  $ cd /home/wusc/zookeeper-3.4.6
  $ mkdir data
  $ mkdir logs
5、 将 zookeeper-3.4.6/conf 目录下的 zoo_sample.cfg 文件拷贝一份,命名为为zoo.cfg
  $ cp zoo_sample.cfg zoo.cfg
6、 修改 zoo.cfg 配置文件:
  $ vi zoo.cfg
  # 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.
  # do not use /tmp for storage, /tmp here is just
  # example sakes.
    dataDir=/home/wusc/zookeeper-3.4.6/data
    dataLogDir=/home/wusc/zookeeper-3.4.6/logs
  # the port at which the clients will connect
    clientPort=2181
  #2888,3888 are election port

    server.1=edu-provider-01:2888:3888


8、 wusc 用户下修改 vi /home/wusc/.bash_profile, 增加 zookeeper 配置:
  # zookeeper env
    export ZOOKEEPER_HOME=/home/wusc/zookeeper-3.4.6
    export PATH=$ZOOKEEPER_HOME/bin:$PATH
  使配置文件生效
    $ source /home/wusc/.bash_profile
9、 在防火墙中打开要用到的端口 2181、 2888、 3888
  切换到 root 用户权限,执行以下命令:
    # chkconfig iptables on

    # service iptables start
  编辑/etc/sysconfig/iptables
    # vi /etc/sysconfig/iptables
  增加以下 3 行:
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT
  重启防火墙:
    # service iptables restart
  查看防火墙端口状态:
    # service iptables status

10、 启动并测试 zookeeper( 要用 wusc 用户启动,不要用 root) :
  (1) 使用 wusc 用户到/home/wusc/zookeeper-3.4.6/bin 目录中执行:
    $ zkServer.sh start
  (2) 输入 jps 命令查看进程:
    $ jps
    1456 QuorumPeerMain
    1475 Jps
  其中, QuorumPeerMain 是 zookeeper 进程,启动正常
  (3) 查看状态:

    $ zkServer.sh status

  (4) 查看 zookeeper 服务输出信息:
    由于服务信息输出文件在/home/wusc/zookeeper-3.4.6/bin/zookeeper.out
      $ tail -500f zookeeper.out
11、 停止 zookeeper 进程:
    $ zkServer.sh stop
12、 配置 zookeeper 开机使用 wusc 用户启动:
    编辑/etc/rc.local 文件,加入:
  su - wusc -c '/home/wusc/zookeeper-3.4.6/bin/zkServer.sh start'


以上是关于Dubbo框架介绍与安装 Dubbo 注册中心(Zookeeper-3.4.6)的主要内容,如果未能解决你的问题,请参考以下文章

(十二) 构建dubbo分布式平台-zookeeper注册中心安装

dubbo privider与consumer同时配置retry以哪个为主

以zookeeper作为注册中心的分布式服务框架dubbo的部署安装

Dubbo介绍

Dubbo介绍

Dubbo介绍