假设A,B,C 三台主机依次启动,且myId依次递增。
A启动时,A先投自己,B,C未启动不投票。结果A得一票,少于半数票,故此时不产生leader。
B启动时, A投自己,B也投自己,C未启动不投票。第一轮结算A得一票,B得一票。但A发现B的myId比自己大,故第二轮A改投B,B依然投B,第二轮结算,A得0票,B得2票且B多于半数票(2>3/2).故B当选。
C启动时,集群里已经有leader。故C是follower。
假设A,B,C三台主机同时启动,那么自然是找最大的了。
假设A,B,C 三台主机依次启动,且myId依次递增。
A启动时,A先投自己,B,C未启动不投票。结果A得一票,少于半数票,故此时不产生leader。
B启动时, A投自己,B也投自己,C未启动不投票。第一轮结算A得一票,B得一票。但A发现B的myId比自己大,故第二轮A改投B,B依然投B,第二轮结算,A得0票,B得2票且B多于半数票(2>3/2).故B当选。
C启动时,集群里已经有leader。故C是follower。
假设A,B,C三台主机同时启动,那么自然是找最大的了。