由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - 版上有懂zookeeper原理的吗
相关主题
distributed笨问题续:TOMCAT
SCJP书上某习题一问为什么要用RMI?
java的一个问题Socket Connection refused in high-loaded servers
NoThread concurrency包子答谢--请教高手:streaming data to applet
zookeeper请问一下
Wierd issue with Cassandra有什么video encoding/decoding library啊
Re: CORBA 一问A Simple Java Socket Issue
[转载] Db2 里设置通信时TCP/IP的端口和远端用JDBC问题send() vs sendto()
相关话题的讨论汇总
话题: zookeeper话题: leader话题: 机器话题: tcp话题: election
进入Java版参与讨论
1 (共1页)
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
2
靠,我傻逼了。。。
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..
1 (共1页)
进入Java版参与讨论
相关主题
send() vs sendto()zookeeper
各位Java Developer是不是都是Oracle、liunx、JavaScript等大牛?Wierd issue with Cassandra
有人在 Win7 上用 Tomcat 吗?Re: CORBA 一问
防火墙一开,eclipse连远程的服务器就超时,怎么解决?[转载] Db2 里设置通信时TCP/IP的端口和远端用JDBC问题
distributed笨问题续:TOMCAT
SCJP书上某习题一问为什么要用RMI?
java的一个问题Socket Connection refused in high-loaded servers
NoThread concurrency包子答谢--请教高手:streaming data to applet
相关话题的讨论汇总
话题: zookeeper话题: leader话题: 机器话题: tcp话题: election