生活中的Paxos



 

生活中的Paxos,原来你我都在使用——对Paxos生活化的解读(二)

标签: 计算机分布式算法
  90人阅读  评论(0)  收藏  举报
  分类:

目录(?)[+]

根据上一篇的叙述,让我们做一个规范总结吧

自从老婆提议家庭生活,家庭全体成员一起献计献策之后,也经历了不短的时间。整个过程中,碰到过不少问题,但在全家的同心协力下,也都得到了解决。一天,老婆提议把过程中沉淀下来的经验和规范汇总起来,我想想也有道理,就做了下面这个汇总:

  • 家庭成员明确不同的分工。提议人、决策人、参与人。

其中,提议人和参与人的人数没有限制,视家庭成员而定。但是,决策人的人数最好为奇数,最小人数是3人(3、5、7、9…。不是奇数的话,会碰到我们最早遇到的两个提议相持不下的情况。)

  • 整个过程分为三个阶段。提议阶段,决策阶段,通知阶段。
  •  
    • 提议阶段提议人在这个阶段,可以任意发起提议请求。提议请求可以被更改、抢占。简单起见,我们做了一个规定:新的提议请求可以抢占老的提议请求。
    • 决策阶段决策一旦达成了多数派,就不能被更改。与此同时,达成多数派决议的决策人,还有义务将当前达成的决议告知其他提议人和决策人,告诉大家本轮决策已经达成了,不用绞尽脑汁YY新的提议。
    • 通知阶段决策达成之后,最后一个阶段就是通知阶段。将当前决策的内容告诉参与人。此时要坚守一点原则:不能说谎。当然,这也是中华民族的传统美德,我们家里是每个人都能做到的…

经验和规范总结起来,好像也没有几条,简单易理解,全家人都能遵守。直到有一天,一位搞技术的朋友到我家来做客,无意中聊起这个,我把这个说给他听,他猛地一拍大腿,跳了起来,嚷嚷道:我kao,这不就是分布式Paxos协议的雏形吗!这时我才知道,原来我们家误打误撞之下,也能够跟大师在同一个层面思考问题了。

一切并未结束

规矩是死的,人是活的,哪怕严谨如各种法规和法律,都会有人钻空子,更别提我们家里几个臭皮匠YY出来的了。现有的规矩,后面又逐渐暴露出一些漏洞和不足之处。我在这里列举一二:

  • 提议更改抢占没完没了

由于提议阶段可以抢占,后来又发生了几次抢占没完没了的事。仍旧是同样的例子:

老婆:中午不想做饭了,出去吃啥好?

我:我有一个提议,大家想不想听听?(1号提议)

小宝外婆:说来听听。

老婆:登登,你的肯定不靠谱,我也有一个提议。(2号提议,抢占1号)

小宝外婆:那我们就听听琛琛的吧。

我:还是听听我这个吧,我的这个提议肯定更好。(3号提议,又抢占2号)

小宝外婆:那好,登登既然坚持,还是听登登的。

老婆:凭什么他的更好,听我的。(4号提议,叒抢占3号)

小宝外婆:

我:

老婆:

在提议阶段一直相互抢占,一直未进入决策阶段。当然,实际生活中肯定不会出现这种情况,对我来说,这不是找抽吗?但是这个风险本身是存在的。

  • 碰到连续有几件事情需要决策,效率不高

一般周末全家出去玩,基本上是一个上午、一个下午,或者是完整的一整天。涉及到去哪玩,开车走哪条路,在哪吃饭等一系列需要决策的问题。如果对每一个问题都这么来一轮,效率太低。而且,这些问题相互之间还有关联性,分开来一个个决策也不好。总不能决定去西溪湿地玩,但是却去钱江新城吃饭,太远了也不现实。

问题总是用来解决的,而且无论是生活还是工作,都是在解决了一个老问题后,等着新问题的到来。有问题不怕,我们需要锻炼的,是坦然面对层出不穷新问题的心态。

写在最后

写了这么多,也该收笔了。正如文章开始引言部分所说,个人的本意还是想以贴近生活,更加通俗易懂的例子,来解读这个号称分布式系统领域最为难懂的Paxos协议。文章没法覆盖Paxos的方方面面, 而只是作为一个引子,希望能够从不同的视角来说明Paxos协议中各种标准和规范的由来。网上关于Paxos的文章那是多如牛毛,想更深入的了解,Google之。个人最近看得比较多的两篇,一个是Google同学写的《Paxos made live》,另一篇是李凯同学写的《架构师需要了解的Paxos原理、历程及实战》,感觉都非常不错,一并推荐给大家。

最后,还是要感谢 克里斯.费利 博士,不管我这篇文章质量如何,下定决心写很大程度上是受到了其《宝宝的量子物理学》系列丛书的影响,家里有小宝宝的同学,也一并推荐给大家,值得买回来读个宝宝听!

转载自:阿里技术发展协会

作者:圭多

0
 
0
 
 
我的同类文章

参考知识库

img
大型网站架构知识库

猜你在找
Ceph—分布式存储系统的另一个选择
模板匹配的字符识别(OCR)算法原理
数据结构基础系列(1):数据结构和算法
Python算法实战视频课程--二叉树
网络工程师流水线技术计算强化训练教程
关闭
查看评论

  暂无评论

发表评论
  • 用 户 名:
  • jiafu1115
  • 评论内容:
  • 插入代码
  •   
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
id="iframeu2734133_0" src="http://pos.baidu.com/scgm?sz=250x250&rdid=2734133&dc=3&di=u2734133&dri=0&dis=0&dai=1&ps=1883x0&coa=at%3D3%26rsi0%3D250%26rsi1%3D250%26pat%3D17%26tn%3DbaiduCustNativeAD%26rss1%3D%2523FFFFFF%26conBW%3D1%26adp%3D1%26ptt%3D0%26titFF%3D%2525E5%2525BE%2525AE%2525E8%2525BD%2525AF%2525E9%25259B%252585%2525E9%2525BB%252591%26titFS%3D%26rss2%3D%2523000000%26titSU%3D0&dcb=BAIDU_SSP_define&dtm=HTML_POST&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1482977674418&ti=%E7%94%9F%E6%B4%BB%E4%B8%AD%E7%9A%84Paxos%EF%BC%8C%E5%8E%9F%E6%9D%A5%E4%BD%A0%E6%88%91%E9%83%BD%E5%9C%A8%E4%BD%BF%E7%94%A8%E2%80%94%E2%80%94%E5%AF%B9Paxos%E7%94%9F%E6%B4%BB%E5%8C%96%E7%9A%84%E8%A7%A3%E8%AF%BB%EF%BC%88%E4%BA%8C%EF%BC%89%20-%20u013597009%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20%E5%8D%9A%E5%AE%A2%E9%A2%91%E9%81%93%20-&ari=2&dbv=2&drs=3&pcs=1263x657&pss=1265x4247&cfv=0&cpl=5&chi=6&cce=true&cec=UTF-8&tlm=1482977674&rw=673&ltu=http%3A%2F%2Fblog.csdn.net%2Fu013597009%2Farticle%2Fdetails%2F53197297&ecd=1&psr=1280x800&par=1280x763&pis=-1x-1&ccd=24&cja=false&cmi=7&col=zh-CN&cdo=-1&tcn=1482977674&qn=d7c32ffbde194abd&tt=1482977674400.21.22.24" width="250" height="250" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="border-width: 0px; border-style: initial; vertical-align: bottom; margin: 0px;">
 

生活中的Paxos,原来你我都在使用——对Paxos生活化的解读(二)

标签: 计算机分布式算法
  90人阅读  评论(0)  收藏  举报
  分类:

目录(?)[+]

根据上一篇的叙述,让我们做一个规范总结吧

自从老婆提议家庭生活,家庭全体成员一起献计献策之后,也经历了不短的时间。整个过程中,碰到过不少问题,但在全家的同心协力下,也都得到了解决。一天,老婆提议把过程中沉淀下来的经验和规范汇总起来,我想想也有道理,就做了下面这个汇总:

  • 家庭成员明确不同的分工。提议人、决策人、参与人。

其中,提议人和参与人的人数没有限制,视家庭成员而定。但是,决策人的人数最好为奇数,最小人数是3人(3、5、7、9…。不是奇数的话,会碰到我们最早遇到的两个提议相持不下的情况。)

  • 整个过程分为三个阶段。提议阶段,决策阶段,通知阶段。
  •  
    • 提议阶段提议人在这个阶段,可以任意发起提议请求。提议请求可以被更改、抢占。简单起见,我们做了一个规定:新的提议请求可以抢占老的提议请求。
    • 决策阶段决策一旦达成了多数派,就不能被更改。与此同时,达成多数派决议的决策人,还有义务将当前达成的决议告知其他提议人和决策人,告诉大家本轮决策已经达成了,不用绞尽脑汁YY新的提议。
    • 通知阶段决策达成之后,最后一个阶段就是通知阶段。将当前决策的内容告诉参与人。此时要坚守一点原则:不能说谎。当然,这也是中华民族的传统美德,我们家里是每个人都能做到的…

经验和规范总结起来,好像也没有几条,简单易理解,全家人都能遵守。直到有一天,一位搞技术的朋友到我家来做客,无意中聊起这个,我把这个说给他听,他猛地一拍大腿,跳了起来,嚷嚷道:我kao,这不就是分布式Paxos协议的雏形吗!这时我才知道,原来我们家误打误撞之下,也能够跟大师在同一个层面思考问题了。

一切并未结束

规矩是死的,人是活的,哪怕严谨如各种法规和法律,都会有人钻空子,更别提我们家里几个臭皮匠YY出来的了。现有的规矩,后面又逐渐暴露出一些漏洞和不足之处。我在这里列举一二:

  • 提议更改抢占没完没了

由于提议阶段可以抢占,后来又发生了几次抢占没完没了的事。仍旧是同样的例子:

老婆:中午不想做饭了,出去吃啥好?

我:我有一个提议,大家想不想听听?(1号提议)

小宝外婆:说来听听。

老婆:登登,你的肯定不靠谱,我也有一个提议。(2号提议,抢占1号)

小宝外婆:那我们就听听琛琛的吧。

我:还是听听我这个吧,我的这个提议肯定更好。(3号提议,又抢占2号)

小宝外婆:那好,登登既然坚持,还是听登登的。

老婆:凭什么他的更好,听我的。(4号提议,叒抢占3号)

小宝外婆:

我:

老婆:

在提议阶段一直相互抢占,一直未进入决策阶段。当然,实际生活中肯定不会出现这种情况,对我来说,这不是找抽吗?但是这个风险本身是存在的。

  • 碰到连续有几件事情需要决策,效率不高

一般周末全家出去玩,基本上是一个上午、一个下午,或者是完整的一整天。涉及到去哪玩,开车走哪条路,在哪吃饭等一系列需要决策的问题。如果对每一个问题都这么来一轮,效率太低。而且,这些问题相互之间还有关联性,分开来一个个决策也不好。总不能决定去西溪湿地玩,但是却去钱江新城吃饭,太远了也不现实。

问题总是用来解决的,而且无论是生活还是工作,都是在解决了一个老问题后,等着新问题的到来。有问题不怕,我们需要锻炼的,是坦然面对层出不穷新问题的心态。

写在最后

写了这么多,也该收笔了。正如文章开始引言部分所说,个人的本意还是想以贴近生活,更加通俗易懂的例子,来解读这个号称分布式系统领域最为难懂的Paxos协议。文章没法覆盖Paxos的方方面面, 而只是作为一个引子,希望能够从不同的视角来说明Paxos协议中各种标准和规范的由来。网上关于Paxos的文章那是多如牛毛,想更深入的了解,Google之。个人最近看得比较多的两篇,一个是Google同学写的《Paxos made live》,另一篇是李凯同学写的《架构师需要了解的Paxos原理、历程及实战》,感觉都非常不错,一并推荐给大家。

最后,还是要感谢 克里斯.费利 博士,不管我这篇文章质量如何,下定决心写很大程度上是受到了其《宝宝的量子物理学》系列丛书的影响,家里有小宝宝的同学,也一并推荐给大家,值得买回来读个宝宝听!

转载自:阿里技术发展协会

作者:圭多

0
 
0
 
 
我的同类文章
width="960" height="90" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" allowfullscreen="true" id="aswift_0" name="aswift_0" style="left: 0px; position: absolute; top: 0px;">

参考知识库

img
大型网站架构知识库

猜你在找
width="960" height="90" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" allowfullscreen="true" id="aswift_1" name="aswift_1" style="left: 0px; position: absolute; top: 0px;">
关闭
width="300" height="250" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" allowfullscreen="true" id="aswift_2" name="aswift_2" style="left: 0px; position: absolute; top: 0px;">
查看评论

  暂无评论

发表评论
  • 用 户 名:
  • jiafu1115
  • 评论内容:
  • 插入代码
  •   
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值