带observer的如何设置的。
集群的节点不是挂了就不算数了,集群的选举和消息的广播都是超过半数才可以的。
集群的所有主机dowm机不能超过一半的。
15台机器:最多down7台
16台机器:最多down7台
---
leader选举的源码:
收到的选票不够还要重新发送的。
leader选举的,而且Quorummanager很重要的。
选票的返回的时间的。
第一个你要知道启动时候和再次选举的时候的来回,我发10个,我应该收到10个。
举例:当前server发送自己的选票通知,若当时限到达仍没有收到对方通知,则认为连接出了问题。
当发送了选票
---
看下manager:
---
继续:
---2019-02-20-1---
这个方法,我们分三部分拆解这个方法。
第一部分:准备工作
第二部分:把自己发送出去
什么是原子操作?
主要是保证的原子性的。
我们点进去这个方法:
看下这个代码:
进去这个方法:
---2019-02-20-2---
第一步:
第二步:
---
看下红框得:
进入haveDeliverd方法:
这个是manager里面得队列,只要有一个队列是空的就说明发送成功了。否则就是发送失败。
只要当前主机没有发出选票,则所有其它得主机一定不能收齐选票,当前主机只要坐等即可。
---
选举是否结束。。。。。。后面没看
---2019-02-22---