但是其主要差距在于,zab主机宕机备份恢复为主,而不是状态机副本为主。
state machine replication能保证每次接收到的有序请求,都能得到正确的处理 primary-backup系统比如zookeeper,副本可以按增量式状态排序(zxid前32位表示所属会议,后32位是递增数字), 是由主要副本(应该是leader)生成发送给其他follwer的,state machine replication不一样,如果主机宕了,客户端就找不到可以处理请求的机器了。
zab是zookeeper atomic broadcast 的缩写;在以上两种概念之下,zab对于state machine repliacation的具体实现方式:
对象设计:
zab的两种模式:
广播:
这种状态是zk运行的正常状态,可以处理正常请求
恢复:
由于leader宕了,需要重新选择一个leader出来
你看那个人好像一条狗啊