前言
学技术绝对不能好高骛远,导致内心情愫的铎动。理论是实践的基石,而实践更是对理论加深理解。因此理论和实践相结合,理论不懂就实践,实践不会就看理论,理论不会就再实践。
ZAB协议
ZAB协议 是为分布式协调服务Zookeeper专门设计的一种支持崩溃恢复的原子广播协议。ZooKeeper主要依赖ZAB协议来实现分布式数据的一致性。ZAB协议的核心内容是这么描述的:所有的事务请求必须由一个全局唯一的服务器来协调处理,这样的服务器被称为Leader服务器。而余下的其他服务器则成为Follower服务器。Leader服务器负责将一个客户端事务请求转换成一个事务proposal(提议),并将该proposal分发给集群中的所有Follower服务器。之后Leader服务器需要等待所有Follower服务器的反馈,一旦超过了半数的Follower服务器进行了正确反馈之后,Leader服务器就会再次向所有的Follower服务器分发commit消息,要求将前一个proposal进行提交。