知识点:
这里更新term的方法很巧妙,append-entry或者install-snapshot都是用于leader与follower数据间的同步。在election结束后,follower其实是不知道election是否已经结束。为了更新自己的term,follower不采用轮询election是否结束这样占用时间且低效的方式更新term,而是采用事件驱动模型,收到append-entry或install-snapshot的rpc请求后顺带更新term,高效快捷。而对于vote_request也更新自己的term则是考虑到了在网络分区的情况下某些节点可能一直处于candidate状态,在某个时间点网络又正常了,这时候通过vote_request便可以更新term到最新状态。(对于append-entry或者install-snapshot也可以帮助网络分区的节点在网络恢复后更新自己的term。)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。