注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

gmd20的个人空间

// 编程和生活

 
 
 

日志

 
 

再次看Paxos算法的资料  

2013-03-22 15:17:19|  分类: 程序设计 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

觉得最好的学习顺序是这样

1.  看什么是 “2 phase commit”  3 phase commit 算法


2.  对照,wiki 的Paxos算法 页面的图示和这个论文

Paxos Made Simple  

http://www.cs.utexas.edu/users/lorenzo/corsi/cs380d/past/03F/notes/paxos-simple.pdf


这个文档说事简单版,竟然连个图都没有!!!

对比wiki的图示弄清楚  Client  Acceptor Proposer Learner Leader的概念职责。

http://en.wikipedia.org/wiki/Paxos_algorithm

wiki的英文版的图示做的很好,不要看中文版的


简单的过程是这样的,

比如多个 server 保存一个变量的副本时,这多个server只会有一个leader, 然后更新这个变量的值请求都有leader来协调发起提议。

每次更新变量值的过程都是一次应用Paxos算法的过程,Paxos 负责投票然后把这个更新值通知给所有的server(每个sever都是learner的话)。 然后下次更新的请求又是重新的一次Paxos算法的过程。


3. 看看

ZooKeeper Internals

http://zookeeper.apache.org/doc/trunk/zookeeperInternals.html


文档说不是Paxos算法,不过Leader Activation的 leader推选过程应该是很类似  Paxos的。

然后他的 Active Messaging过程类似“two-phase commit”  因为他保证消息的传递顺序,应该是有一些简化了,只要多数的follower同意就可以提交了。


  评论这张
 
阅读(527)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017