一、ZooKeeper 选举机制
1. 前提理论介绍
- zookeeper 的来源,是来自于 google chubby。为了解决在分布式环境下,如何从多个 server 中选举出 master server。那么这多个 server 就需要涉及到一致性问题,这个一致性体现的是多个server 就 master 这个投票在分布式环境下达成一致性。简单来说就是最终听谁的。但是在网络环境中由于网络的不可靠性,会存在消息丢失和或者被篡改等问题。所以如何在这样一个环境中快速并且正确的在多个server 中对某一个数据达成一致性并且保证不论发生任何异常,都不会破坏整个系统一致性呢?所以在 Lamport 大神设计了一套 Paxos 的算法,多个 server 基于这个算法就可以达成一致。而 google chubby 就是基于 paxos 算法的实现,用来实现分布式锁服务。并且提供了 master 选举的服务
Chubby 和 paxos 算法有什么关系?
- Chubby 本来应该设计成一个包含 Paxos 算法的协议库,是的应用程序可以基于这个库
本文深入探讨了ZooKeeper的选举机制,包括其一致性模型、选举原理和实战演练。ZooKeeper基于Paxos算法的ZAB协议实现了一致性,确保分布式环境中的数据同步。在选举过程中,遵循半数机制,服务器ID和事务ID是决定选举结果的关键因素。通过实例分析,阐述了启动时和运行中Leader选举的过程。
订阅专栏 解锁全文
459

被折叠的 条评论
为什么被折叠?



