3.1
注册中心概述
对于服务提供方,它需要发布服务,而且由于应用系统的复杂性,服务的数量、类型也不断膨胀;对于服务消费方,它最关心如何获取到它所需要的服务,而面对复杂的应用系统,
需要管理大量的服务调用。
而且,对于服务提供方和服务消费方来说,他们还有可能兼具这两种角色,即需要提供服务,有需要消费服务。 通过将服务统一管理起来,可以有效地优化内部应用对服务发布
/
使用的流程和管理。服务注册中心可以通过特定协议来完成服务对外的统一。
Dubbo
提供
的注册中心有如下几种类型可供选:
Multicast
注册中心:组播方式
Redis
注册中心:使用
Redis
作为注册中心
Simple
注册中心:就是一个
dubbo
服务。作为注册中心。提供查找服务的功能。
Zookeeper
注册中心:使用
Zookeeper
作为注册中心
推荐使用
Zookeeper
注册中心。
3.2
注册中心工作方式
3.3 Zookeeper 注册中心
Zookeeper
是一个高性能的,分布式的,开放源码的分布式应用程序协调服务。简称
zk
,Zookeeper
是翻译管理是动物管理员。可以理解为
windows
中的资源管理器或者注
册表。他
是一个树形结构。这种树形结构和标准文件系统相似。
ZooKeeper
树中的每个节点被称为
Znode
。和文件系统的目录树一样,
ZooKeeper
树中的每个节点可以拥有子节点。每个节点表
示一个唯一服务资源。
Zookeeper
运行需要
java
环境。
3.3.1
下载安装文件
官网下载地址
:
http://zookeeper.apache.org/
进入官网地址,首页找到下载地址,最新版本
3.5.4
3.3.2 安装配置 Zookeeper
A
、
Windows
平台
Zookeeper
安装,配置
下载的文件
zookeeper-3.5.4-beta.tar.gz.
解压后到目录就可以了,例如
d:/servers/ zookeeper-3.5.4
修改
zookeeper-3.5.4/conf/
目录下配置文件
复制
zoo-sample.cfg
改名为
zoo.cfg
文件内容:
tickTime:
心跳的时间,单位毫秒
. Zookeeper
服务器之间或客户端与服务器之间维持心跳的
时间间隔,也就是每个
tickTime
时间就会发送一个心跳。表明存活状态。
dataDir:
数据目录,可以是任意目录。存储
zookeeper
的快照文件、
pid
文件,默认为
/tmp/zookeeper
,建议在
zookeeper
安装目录下创建
data
目录,将
dataDir
配置改
为
/usr/local/zookeeper-3.4.10/data
clientPort:
客户端连接
zookeeper
的端口,即
zookeeper
对外的服务端口,默认为
2181
配置内容:
1.dataDir : zookeeper
数据的存放目录
2. admin.serverPort=8888
原因:
zookeeper 3.5.x
占用
8080
B、 Linux 平台 Zookeeper 安装、配置
Zookeeper
的运行需要
jdk
。使用前
Linux
系统要安装好
jdk.
①:上传
zookeeper-3.5.4-beta.tar.gz.
并解压
解压文件
zookeeper-3.5.4-beta.tar.gz.
执行命令:
tar -zxvf zookeeper-3.5.4-beta.tar.gz. -C /usr/local/
②:配置文件
在
zookeeper
的
conf
目录下,将
zoo_sample.cfg
改名为
zoo.cfg
,
cp zoo_sample.cfg zoo.cfg
zookeeper
启动时会读取该文件作为默认配置文件
进入
zookeeper
目录下的
conf
拷贝样例文件
zoo-sample.cfg
为
zoo.cfg
③:启动
Zookeeper
启动(切换到安装目录的
bin
目录下):
./zkServer.sh start

④:关闭
Zookeeper
关闭(切换到安装目录的
bin
目录下):
./zkServer.sh stop

1.3
注册中心的高可用
概念:
高可用性(
High Availability
):通常来描述一个系统经过专门的设计,从而减少不能提供服
务的时间,而保持其服务的高度可用性。
Zookeeper
是高可用的,健壮的。
Zookeeper
宕机,正在运行中的
dubbo
服务仍然可以正
常访问。
健壮性
⚫
监控中心宕掉不影响使用,只是丢失部分采样数据
⚫
注册中心仍能通过缓存提供服务列表查询,但不能注册新服务
⚫
服务提供者无状态,任意一台宕掉后,不影响使用
⚫
服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢
复
演示操作:
1.
先启动
zookeeper, dubbo
服务提供者,
dubbo
服务消费者。
2.
测试正常访问胸
3.
停止
zookeeper
4.
测试消费者仍然可以访问提供者