Dubbo+Zookeeper(一)
1. Dubbo
Apache Dubbo 是2018年由阿里巴巴开源并捐赠给 Apache 的微服务开发框架,它提供了 RPC 通信与微服务治理两大关键能力。RPC(remote procedure call),就是远程调用过程。例如两台服务器A和B都部署有应用,A服务器想调用B服务器上应用的方法,由于两个应用不在一个内存空间,不能直接调用,所以就需要用到RPC了。
1.1 Dubbo调用过程
1.服务容器(Containter)负责启动,加载,运行服务提供者。
2.服务提供者(Provider)在启动时,向注册中心(Registry)注册自己提供的服务。
3.服务消费者(Consumer)在启动时,向注册中心订阅自己所需的服务。
4.注册中心(Registry)返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
5.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失 败,再选另一台调用。
6.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中 心(Monitor)。
2. Zookeeper
2.1 简介
Dubbo官方推荐使用Zookeeper作为服务注册中心。Zookeepe是一个树形结构,如下图是架构图:
流程:
1.服务提供者(Provider)启动时:向 /dubbo/com.foo.BarService/providers目录下写入自己的URL地址。
2.服务消费者(Consumer)启动时:订阅 /dubbo/com.foo.BarService/providers 目录下的提供者 URL 地址。并向 /dubbo/com.foo.BarService/consumers 目录下写入自己的URL地址。
3.监控中心(Monitor)启动时:订阅 /dubbo/com.foo.BarService 目录下的所有提供者和消费者URL地址。
2.2 安装Zookeeper
下载链接:Index of /dist/zookeeper (apache.org)
1.安装 jdk(略)。
2.把 zookeeper 的压缩包(zookeeper-3.*.tar.gz)上传到 linux 系统。
3.解压缩压缩包
tar -zxvf zookeeper-3.*.tar.gz -C /usr
4.进入zookeeper-3.*目录,创建data目录
mkdir data
5.进入conf目录,把zoo_sample.cfg 改名为zoo.cfg
cd conf
mv zoo_sample.cfg zoo.cfg
6.打开zoo.cfg文件, 修改data属性:dataDir=/usr/zookeeper-3.*/data
2.3启动、停止Zookeeper
进入Zookeeper的bin目录,
启动服务命令:./zkServer.sh start
停止服务命令:./zkServer.sh stop
查看服务状态:./zkServer.sh status
客户端连接:./zkCli.sh,然后输入?,会显示出全部命令
stop
查看服务状态:./zkServer.sh status
客户端连接:./zkCli.sh,然后输入?,会显示出全部命令