本节来介绍使用ZooKeeper实现分布式集群HA的基本原理。
1.Master启动
在引入了Zookeeper以后我们启动了两个主节点,”主节点-A”和”主节点-B”。他们启动以后,都向ZooKeeper去注册一个节点。假设”主节点-A”注册的节点是”master-00001″,”主节点-B”注册的节点是”master-00002″,注册完以后进行选举,编号最小的节点将在选举中获胜获得锁成为主节点,也就是我们的”主节点-A”将会获得锁成为主节点,然后”主节点-B”将被阻塞成为一个备用主节点。那么,通过这种方式就完成了对两个Master进程的调度。

2.Master故障
如果”主节点-A”挂了,这时候它所注册的节点”master-00001″将被自动删除,ZooKeeper会自动感知节点的变化,然后再次发出选举,这时候”主节点-B”将在选举中获胜,替代”主节点-A”成为新的主节点。

3.Master恢复
如果主节点恢复了,它会再次向ZooKeeper注册一个节点,这时候它注册的节点将会是”master-00003″,ZooKeeper会感知节点的变化再次发起选举,这时候”主节点-B”在选举中会再次获胜继续担任”主节点”,”主节点-A”会担任备用主节点。

网友评论