品优购电商系统部署 Day 1 三

2.Zookeeper 集群
2.1 Zookeeper 集群简介
2.1.1 为什么搭建 Zookeeper 集群
大部分分布式应用需要一个主控、协调器或者控制器来管理物理分布的子进程。目前,大多数都要开发私有的协调程序,缺乏一个通用机制,协调程序的反复编写浪费,且难以形成通用、伸缩性好的协调器,zookeeper 提供通用的分布式锁服务,用以协调分布式应用。
所以说 zookeeper 是分布式应用的协作服务。
zookeeper 作为注册中心,服务器和客户端都要访问,如果有大量的并发,肯定会有等待。所以可以通过 zookeeper 集群解决。
下面是 zookeeper 集群部署结构图:

2.1.2 了解 Leader 选举
Zookeeper 的启动过程中 leader 选举是非常重要而且最复杂的一个环节。那么什么是leader 选举呢?zookeeper 为什么需要 leader 选举呢?zookeeper 的 leader 选举的过程又是什么样子的?
首先我们来看看什么是 leader 选举。其实这个很好理解,leader 选举就像总统选举一样,每人一票,获得多数票的人就当选为总统了。在 zookeeper 集群中也是一样,每个节点都会投票,如果某个节点获得超过半数以上的节点的投票,则该节点就是 leader 节点了。
以一个简单的例子来说明整个选举的过程
假设有五台服务器组成的 zookeeper 集群,它们的 id 从 1-5,同时它们都是最新启动的,就是没有历史数据,在存放数据量这一点上,都是一样的.假设这些服务器依序启动,来看看会发生什么 。
1) 服务器 启动,此时只有它一台服务器启动了,它发出去的报没有任何响应,所以它的选举状态一直是 LOOKING 状态
2) 服务器 启动,它与最开始启动的服务器 进行通信,互相交换自己的选举结果,由于两者都没有历史数据,所以 id 值较大的服务器 胜出,但是由于没有达到超过半数以上的服务器都同意选举它(这个例子中的半数以上是 3),所以服务器 1,2 还是继续保持 LOOKING 状态.
3) 服务器 启动,根据前面的理论分析,服务器 成为服务器 1,2,3 中的老大,而与上面不同的是,此时有三台服务器选举了它,所以它成为了这次选举的 leader.
4) 服务器 启动,根据前面的分析,理论上服务器 应该是服务器 1,2,3,4 中最大的,但是由于前面已经有半数以上的服务器选举了服务器 3,所以它只能接收当小弟的命了.
5) 服务器 启动,同 一样,当小弟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值