Skip to content

Commit

Permalink
fix typo
Browse files Browse the repository at this point in the history
  • Loading branch information
isno committed Sep 24, 2024
1 parent 1efbd1b commit 9384e50
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 13 deletions.
21 changes: 10 additions & 11 deletions consensus/Paxos-history.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,18 @@ Paxos 最初的论文名称为《The Part-Time Parliament》,翻译成中文

:::tip 《The Part-Time Parliament》

最近的考古发现表明,在 Paxos 小岛上,尽管兼职议会成员都有逍遥癖,但议会模式仍然起作用。他们依旧保持了一致的会议记录,尽管他们频繁的进出会议室并且他们的信使还很健忘。Paxon 议会协议提供了一种新方法去实现设计分布式系统的状态机。
...

最近的考古发现表明,在 Paxos 小岛上,尽管兼职议会成员都有逍遥癖,但议会模式仍然起作用。他们依旧保持了一致的会议记录,尽管他们频繁的进出会议室并且他们的信使还很健忘。Paxon 议会协议提供了一种新方法去实现设计分布式系统的状态机...
:::

如果不事先说明,也许你根本不会意识到这是一篇关于分布式的论文。为了说明 Paxos 算法并增强演讲效果,Lamport 演讲中多次扮演《夺宝奇兵》中的 Indiana Jones 风格的考古学家。遗憾的是,Paxos 论文中采用的希腊民主议会的比喻显然不太成功,Lamport 像写小说一样,把一个复杂的数学问题写成了一篇带有考古色彩的历史小说,听众没有记住 Paxos 算法,仅仅记住了 Indiana Jones
如果不事先说明,笔者猜测你根本不会意识到这是一篇关于分布式的论文

1990 年,Lamport 将这篇论文提交给 TOCS(美国计算机协会旗下的一本学术期刊)。根据 Lamport 博文中的描述[^1],TOCS 的三位审稿人在阅读后认为“该论文虽然不怎么重要,但还有些意思”,但建议删掉所有与 Paxos 相关的故事背景。Lamport 对这些缺乏幽默感的审稿人颇为不爽,拒绝对论文进行任何修改,最终论文的发表被搁置
为了说明 Paxos 算法并增强演讲效果,Lamport 演讲中多次扮演《夺宝奇兵》中的主角印第安纳·琼斯。遗憾的是,Paxos 论文中采用的希腊民主议会的比喻显然不太成功。Lamport 像写小说一样,把一个复杂的数学问题写成了一篇带有考古色彩的历史小说,听众没有记住 Paxos 算法,仅仅记住了印第安纳·琼斯

1990 年,Lamport 将《The Part-Time Parliament》论文提交给 TOCS(美国计算机协会旗下的一本学术期刊)。根据 Lamport 博文中的描述[^1],TOCS 的三位审稿人在阅读后认为“该论文虽然不怎么重要,但还有些意思”,但建议删掉所有与 Paxos 相关的故事背景。Lamport 对这些缺乏幽默感的审稿人颇为不爽,拒绝对论文进行任何修改,最终论文的发表被搁置。

虽然论文没有发表,但并不代表没有人关注这个算法,Bulter W.Lampson(1991 年图灵奖获得者)认识到这个算法的重要性,并在他的论文中《How to Build a Highly Availability System using Consensus》对 Paxos 进行了描述。此后,De Prisco、Lynch 和 Lampson 几人又联合在 TCS(《理论计算机科学》期刊)发表了一篇论文《Revisiting the PAXOS algorithm》对 Paxos 算法进行了详细地描述和证明。经过 Lampson 等人的大力宣传,Paxos 算法逐渐被理论研究界的学者重视。
虽然论文没有发表,但并不代表没有人关注这个算法,Bulter W.Lampson(1991 年图灵奖获得者)认识到这个算法的重要性,并在他的论文中《How to Build a Highly Availability System using Consensus》对 Paxos 进行了讲述。此后,De Prisco、Lynch 和 Lampson 几人又联合在《理论计算机科学》期刊发表了一篇论文《Revisiting the PAXOS algorithm》对 Paxos 算法进行了详细地描述和证明。经过 Lampson 等人的大力宣传,Paxos 算法逐渐被理论研究界的学者重视。

另一方面,这些介绍 Paxos 论文的发表使 Lamport 觉得《The Part-Time Parliament》重新发表的时间到了。或许作为一种玩笑的延续,也或许为保留原有的工作,更直白的说法是 Lamport 本人认为该论文内容的描述和证明足够清晰,根本不需要修改。这次发布仅增加了一段编辑注解,而且编辑也在注解上也风趣了一把
另一方面,这些介绍 Paxos 论文的发表使 Lamport 觉得《The Part-Time Parliament》重新发表的时间到了。或许作为一种玩笑的延续,也或许为保留原有的工作,更直白的说法是 Lamport 本人认为该论文内容的描述和证明足够清晰,根本不需要修改。这次发布仅增加了一段编辑注解,有意思的是编辑也在注解上也风趣了一把

:::tip <span></span>

Expand All @@ -28,18 +27,18 @@ Paxos 最初的论文名称为《The Part-Time Parliament》,翻译成中文
:::
《The Part-Time Parliament》[^2] 最终在 1998 年公开发表。

《The Part-Time Parliament》论文发表之后,还是有很多人抱怨这篇论文看不懂,人们只记住了那个奇怪的故事,而不是 Paxos 算法。Lamport 走到哪都要被人抱怨一通,于是他忍无可忍,2001 年使用计算机领域的概念重新描述了一遍算法,并发表了论文 《Paxos Made Simple》[^3]
《The Part-Time Parliament》论文发表之后,还是有很多人抱怨这篇论文看不懂,人们只记住了那个奇怪的故事,而不是 Paxos 算法。Lamport 走到哪都要被人抱怨一通,于是他忍无可忍,2001 年使用计算机领域的概念重新描述了一遍算法,并发表了论文 《Paxos Made Simple》[^3]

这是一篇很短的论文,摘要只有一句话“The Paxos algorithm, when presented in plain English, is very simple.”!语气完全无法掩盖作者对 Paxos 的策略没有奏效的失望。
这是一篇很短的论文,摘要只有一句话“The Paxos algorithm, when presented in plain English, is very simple.”!语气完全无法掩盖作者对 Paxos 的策略没有奏效的失望。

:::center
![](../assets/paxos.png) <br/>
图 6-2 Paxos 论文摘要
:::

然而,这篇论文还是非常难以理解,引用 Diego Ongaro 和 John Ousterhout 在设计 Raft 时发表的论文[^4]中对 Paxos 的描述:
然而,这篇论文还是非常难以理解,引用斯坦福学者 Diego Ongaro 和 John Ousterhout 在设计 Raft 时发表的论文[^4]中对 Paxos 的描述:

:::tip 《In Search of an Understandable Consensus Algorithm》
:::tip 《In Search of an Understandable Consensus Algorithm》节选

Unfortunately, Paxos has two significant drawbacks. The first drawback is that Paxos is exceptionally difficult to understand ...

Expand Down
6 changes: 4 additions & 2 deletions network/linux-bridge.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

物理网络中,我们如果要将多台主机连接起来,会使用以太网交换机设备将它们组成一个小型局域网。Linux 网络虚拟化系统中,也提供了交换机的虚拟实现 —— Linux bridge(Linux 网桥)。

Linux bridge 作为一个虚拟的交换机,和物理交换机有相似的功能。在 Linux 系统中,将一个或多个网络接口(如物理网卡 eth0、虚拟接口 veth、tap 等)添加到 Linux bridge 之后,它们的通信与物理交换机的转发行为是完全一致的。当一个数据帧进入 Linux bridge 时,它就会根据数据包的类型和目标 MAC 地址,按照如下规则理:
Linux bridge 作为一个虚拟的交换机,和物理交换机有相似的功能。在 Linux 系统中,将一个或多个网络接口(如物理网卡 eth0、虚拟接口 veth、tap 等)添加到 Linux bridge 之后,它们的通信与物理交换机的转发行为是完全一致的。

当一个数据帧进入 Linux bridge 时,它就会根据数据包的类型和目标 MAC 地址,按照如下规则理:

1. 如果数据包是广播帧,转发给所有桥接到该 Linux bridge 的设备。
2. 如果数据包是单播帧,查看 FDB(地址转发表)中 MAC 地址与网络设备接口的映射:
Expand Down Expand Up @@ -68,7 +70,7 @@ PING 172.16.0.2 (172.16.0.2) 56(84) bytes of data.

值得注意的是,区别于物理二层交换机,Linux bridge 的本质是 Linux 系统中的虚拟网络设备,因此也具备网卡的特征,即可配置 MAC/IP 地址。从主机角度来看,配置了 IP 的 Linux bridge 设备就是主机上的一张网卡,工作在 IP 网路层,自然可以参与主机的路由转发。也就是说,将命名空间的缺省网关设置为该 IP 后,便可以让原本隔离的命名空间和主机进行网络通信。

打通容器与主机之间的互通是实现容器跨主机通信最关键的一环,笔者将在第七章详细讲述容器跨主机通信原理
打通容器与主机之间的互通是实现容器跨主机通信最关键的一环,笔者将在后续(第七章 7.6 节)详细介绍容器跨主机通信原理



0 comments on commit 9384e50

Please sign in to comment.