电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

paxos实现VIP免费

paxos实现_第1页
1/6
paxos实现_第2页
2/6
paxos实现_第3页
3/6
paxos 实现本文主要介绍 zookeeper中 zookeeperServerleader的选举,zookeeper在选举 leader的时候采用了 paxos算法(主要是 fastpaxos),这里主要介绍其中两种:LeaderElection和FastLeaderElection.我们先要清楚以下几点• 一个 Server是如何知道其它的 Server在 zookeeper中,一个 zookeeper集群有多少个 Server是固定,每个 Server用于选举的 IP和 PORT都在配置文件中• 除了 IP和 PORT能标识一个 Server外,还有没有别的方法每一个 Server都有一个数字编号,而且是唯一的,我们根据配置文件中的配置来对每一个Server进行编号,这一步在部署时需要人工去做,需要在存储数据文件的目录中创建一个文件叫 myid的文件,并写入自己的编号,这个编号在处理我提交的 value相同很有用• 成为 Leader的必要条件获得 n/2+1个 Server同意(这里意思是 n/2+1个 Server要同意拥有 zxid是所有 Server最大的哪个 Server)• zookeeper中选举采用 UDP还是 TCPzookeeper中选举主要是采用 UDP,也一种实现是采用 TCP,在这里介绍的两种实现采用的是 UDP• zookeeper中有哪几种状态LOOKING初始化状态LEADING领导者状态FOLLOWING跟随者状态• 如果所有 zxid都相同(例如:刚初始化时),此时有可能不能形成 n/2+1个 Server,怎么办zookeeper中每一个 Server都有一个 ID,这个 ID是不重复的,而且按大小排序,如果遇到这样的情况时,zookeeper就推荐 ID最大的哪个 Server作为 Leader• zookeeper中 Leader怎么知道 Fllower还存活,Fllower怎么知道 Leader还存活Leader定时向 Fllower发 ping消息,Fllower定时向 Leader发 ping消息,当发现 Leader无法 ping通时,就改变自己的状态(LOOKING),发起新的一轮选举名词解释zookeeerServer: zookeeper中一个 Server,以下简称 Serverzxid(zookeepertranstionid): zookeeper事务 id,他是选举过程中能否成为 leader的关键因素,它决定当前 Server要将自己这一票投给谁(也就是我在选举过程中的 value,这只是其中一个,还有id)myid/id(zookeeperserverid):zookeeperserverid,他也是能否成为leader的一个因素epoch/logicalclock:他主要用于描述leader是否已经改变,每一个Server中启动都会有一个epoch,初始值为0,当开始新的一次选举时epoch加1,选举完成时epoch加1。tag/sequencer:消息编号xid:随机生成的一个数字,跟 epoch功能相同FastPaxos消息流向图与 Basic...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部