大家看看我是否把分布式共识写清楚了

150 天前
 isno

我把分布式共识单独列了一个章节,包含这几个部分:

写作这一章的本意是从解决问题的本质去理解分布式系统,理解了 paxos ,就懂了 raft 的设计思路。理解了 raft ,自然也更能体会 etcd 、consul 甚至 k8s 容错的设计

阅读地址: https://www.thebyte.com.cn/consensus/summary.html

如果有谬论、错误的地址,恳请指正(可以在 github issue 或者这个帖子留言)。

1379 次点击
所在节点    程序员
2 条回复
mer
149 天前
感觉讲 Paxos 这里为了循序渐进反而把文章写的太复杂了(看到 Basic Paxos 这里)

首先核心需求这里 "必须在有限时间内做出决议(不能有太多轮投票)。" 这个应该是楼主自己加的吧,basic paxos 本身就有活锁问题(文章最后实际也讲到了)所以不可能有这个需求

然后就是解决方案的第一第二第三感觉有点为了错而错,比如 “按时序决策节点只接受它收到的第一个提案...这也就意味着我们无法保证在一轮投票中达成共识“ 平票的话我理解本身就是 paxos 的一个场景,两个 quorum 中至少有一个节点是重叠的,那么这个节点就能知道哪个提案的序号更大并响应。其他的也类似,其实简单讲一下需求然后直接讲 Basic Paxos 算法就好。

另外这篇文章很多图之前也在其他文章看到过(如果都是本人原创请无视),博采众长的文章还是要避免堆砌,尽量梳理清楚,另外最好标明出处。

以上如有错误请指出,感谢分享。
isno
149 天前
@mer
感谢指点,Paxos 我自己感觉写乱了,加了挺多我自己的理解(这些理解可能也是错误的),这几篇文章得我重新再构思下。

图片不是我原创的,文章内的图片包括网络上对 Paxos 的分析基本都来源于这个论文 https://ongardie.net/static/raft/userstudy/paxos.pdf

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/999294

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX