目前 3 台机器 master(2core 4g), node1(1core 1g) node2(1core 2g)
zookeeper 的服务启动顺序为 master -> node1 -> node2
发现 node1 选举为 leader 了
不是根据机器好坏来的吗?
1
misaka19000 2018 年 12 月 12 日 via Android
zk 用的是 zaxb 算法吧
|
2
p2p 2018 年 12 月 12 日
选举投票 myid 大的优先 zxid 大的优先
|
3
Miiiz 2018 年 12 月 12 日
优先检查 zxid,大的胜出,如果 zxid 一样则 myid 大的胜出
|
4
Wisho 2018 年 12 月 12 日
zk 用的是 zab 协议吧,优先选 zxid (浅显理解成记录 id )大的,zxid 相同时优先选机器 id 大的。
|
5
bravoer 2018 年 12 月 12 日
去看 zab 的论文 有详细的说明。
|
6
scalaer OP |
7
xiaoxinshiwo 2018 年 12 月 12 日
raft ? paxos ?
https://raft.github.io/ |
8
TheCure 2018 年 12 月 12 日
原理一致 https://zhuanlan.zhihu.com/p/40395929
简单来说就是所有机器维护一个 Term, 并且保证在一个相同的 Term 内只投一次票 |