p*****3 发帖数: 488 | 1 zookeeper好像用的不是paxos用的是基于TCP的ZAB协议,但是看了一点paper都没有具
体谈起zookeeper的链接状态。比如一共有N台机器,其中一台是leader,其他的是
followers,应该不会是每台机器都和其他所有机器保持连接状态吧。
如果只是leader和其他所有N-1台机器保持连接,那么当然方便实现zookeeper保证的
consistent model, 应为是单点控制,TCP上广播顺序好的写操作,问题是leader倒了
后的leader election。如果leader挂了,其他机器要选leader出来,问题是
1. 其他机器知道ensemble里各台机器的地址吗?如果不知道,都不能互相通讯,那选
个球啊。
2. 假设知道各个机器的地址,leader election是要选出一个机器有最大的zid(就是
找出执行过最大的leader分配的写操作的id的那台机器, 则这台机器就有执行过最近的
写操作)。这个想办法把各个机器的zid收集一遍就可以了吧,和leader election有啥
关系,用那么复杂吗? |
p*****3 发帖数: 488 | |
g*****g 发帖数: 34805 | 3 没研究过zookeeper, jgroups用的是udp。
【在 p*****3 的大作中提到】 : zookeeper好像用的不是paxos用的是基于TCP的ZAB协议,但是看了一点paper都没有具 : 体谈起zookeeper的链接状态。比如一共有N台机器,其中一台是leader,其他的是 : followers,应该不会是每台机器都和其他所有机器保持连接状态吧。 : 如果只是leader和其他所有N-1台机器保持连接,那么当然方便实现zookeeper保证的 : consistent model, 应为是单点控制,TCP上广播顺序好的写操作,问题是leader倒了 : 后的leader election。如果leader挂了,其他机器要选leader出来,问题是 : 1. 其他机器知道ensemble里各台机器的地址吗?如果不知道,都不能互相通讯,那选 : 个球啊。 : 2. 假设知道各个机器的地址,leader election是要选出一个机器有最大的zid(就是 : 找出执行过最大的leader分配的写操作的id的那台机器, 则这台机器就有执行过最近的
|
p*****3 发帖数: 488 | 4 终于想通了,看paper完全看不明白,majority保证了zookeeper的consistent model,
同一时间只能有一台真正的leader起作用,最后旧的leader会自动连到新leader上。
leader election要求和所有机器频繁的建立和断开tcp连接,ensemble机器多了貌似扛
不住。
推荐一个:
http://stblog.baidu-tech.com/?p=1164
http://massapi.com/source/zookeeper-3.3.2/src/java/main/org/apa |
w**z 发帖数: 8232 | 5 哈哈,马甲差点露馅。
【在 p*****3 的大作中提到】 : 终于想通了,看paper完全看不明白,majority保证了zookeeper的consistent model, : 同一时间只能有一台真正的leader起作用,最后旧的leader会自动连到新leader上。 : leader election要求和所有机器频繁的建立和断开tcp连接,ensemble机器多了貌似扛 : 不住。 : 推荐一个: : http://stblog.baidu-tech.com/?p=1164 : http://massapi.com/source/zookeeper-3.3.2/src/java/main/org/apa
|
x****d 发帖数: 1766 | 6 it has to be odd number.
I would think someone should have done some library to realize/copycat
zookeeper 's basic ideas/function, then users can reuse/embedded in their
code.
peking3, do you want to try? :) |
d*****d 发帖数: 180 | 7 of course even is supported, but more peers are needed to form a quorum.... |
g*****g 发帖数: 34805 | 8 Quorum is just half + 1, even or odd doesn't matter.
【在 d*****d 的大作中提到】 : of course even is supported, but more peers are needed to form a quorum....
|
d*****d 发帖数: 180 | 9 exactly, for example, 3 need 2, 4 you need 3... 2/3 < 3/4 means u have
more chance to stay up with n (n is odd) than n+1.. |