点击上方蓝字关注我们 文末有惊喜
我们先介绍几个主要的参数:
有了上面的基本概念之后,我们现在来开始说选举的过程吧:选举的过程发生在以下两个场景下:
崩溃恢复需要处理的两个主要问题,这在网上也有很多文章说过,但是说的都不是很全面,我在这里用自己的理解和大家说一遍,如果说的不对的欢迎指正:
假设有这种场景,如果在leader发出了commit之后,各个follow收到commit之前,leader挂掉了,导致follow并没有执行已经提交的提案。这个时候,这个消息是不能丢失的;
假设有这种场景,如果在leader生成提案后,广播之前,leader崩溃了,这个时候的提案是应该被丢弃了,这个ZAB协议是如何解决的呢?