From c2d97db90f7d7c5591869ce3b069d28cc11cb753 Mon Sep 17 00:00:00 2001
From: CyC2018 <1029579233@qq.com>
Date: Thu, 15 Mar 2018 21:34:28 +0800
Subject: [PATCH] auto commit
---
README.md | 4 +
notes/一致性协议.md | 159 ++++++++++++++++++
pics/0aaf4630-d2a2-4783-b3f7-a2b6a7dfc01b.jpg | Bin 0 -> 31744 bytes
pics/10.gif | Bin 0 -> 29696 bytes
pics/11.gif | Bin 0 -> 31744 bytes
pics/111521118015898.gif | Bin 0 -> 87040 bytes
pics/111521118445538.gif | Bin 0 -> 34816 bytes
pics/111521118483039.gif | Bin 0 -> 24576 bytes
pics/111521118640738.gif | Bin 0 -> 149504 bytes
pics/111521119203347.gif | Bin 0 -> 189440 bytes
pics/111521119368714.gif | Bin 0 -> 219136 bytes
pics/2bf2fd8f-5ade-48ba-a2b3-74195ac77c4b.png | Bin 0 -> 47104 bytes
pics/2c4556e4-0751-4377-ab08-e7b89d697ca7.png | Bin 0 -> 38912 bytes
pics/3f5bba4b-7813-4aea-b578-970c7e3f6bf3.jpg | Bin 0 -> 52224 bytes
pics/7.gif | Bin 0 -> 28672 bytes
pics/8adb2591-d3f1-4632-84cb-823fb9c5eb09.jpg | Bin 0 -> 27648 bytes
pics/9.gif | Bin 0 -> 23552 bytes
pics/9b829410-86c4-40aa-ba8d-9e8e26c0eeb8.jpg | Bin 0 -> 61440 bytes
18 files changed, 163 insertions(+)
create mode 100644 notes/一致性协议.md
create mode 100644 pics/0aaf4630-d2a2-4783-b3f7-a2b6a7dfc01b.jpg
create mode 100644 pics/10.gif
create mode 100644 pics/11.gif
create mode 100644 pics/111521118015898.gif
create mode 100644 pics/111521118445538.gif
create mode 100644 pics/111521118483039.gif
create mode 100644 pics/111521118640738.gif
create mode 100644 pics/111521119203347.gif
create mode 100644 pics/111521119368714.gif
create mode 100644 pics/2bf2fd8f-5ade-48ba-a2b3-74195ac77c4b.png
create mode 100644 pics/2c4556e4-0751-4377-ab08-e7b89d697ca7.png
create mode 100644 pics/3f5bba4b-7813-4aea-b578-970c7e3f6bf3.jpg
create mode 100644 pics/7.gif
create mode 100644 pics/8adb2591-d3f1-4632-84cb-823fb9c5eb09.jpg
create mode 100644 pics/9.gif
create mode 100644 pics/9b829410-86c4-40aa-ba8d-9e8e26c0eeb8.jpg
diff --git a/README.md b/README.md
index e5b6291d..6fd5bb94 100644
--- a/README.md
+++ b/README.md
@@ -99,6 +99,10 @@ File, InputStream OutputStream, Reader Writer, Serializable, Socket, NIO
整理自《大规模分布式存储系统》
+> [一致性协议](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/一致性协议.md)
+
+二阶段提交、Paxos、Raft、拜占庭将军问题。
+
## 工具 :hammer:
> [Git](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Git.md)
diff --git a/notes/一致性协议.md b/notes/一致性协议.md
new file mode 100644
index 00000000..6cf9280c
--- /dev/null
+++ b/notes/一致性协议.md
@@ -0,0 +1,159 @@
+
+* [两阶段提交协议](#两阶段提交协议)
+ * [1. 运行过程](#1-运行过程)
+ * [2. 存在的问题](#2-存在的问题)
+* [Paxos 协议](#paxos-协议)
+ * [1. 执行过程](#1-执行过程)
+ * [2. 约束条件](#2-约束条件)
+* [Raft 协议](#raft-协议)
+ * [1. 单个 Candidate 的竞选](#1-单个-candidate-的竞选)
+ * [2. 多个 Candidate 竞选](#2-多个-candidate-竞选)
+ * [3. 日志复制](#3-日志复制)
+* [拜占庭将军问题](#拜占庭将军问题)
+* [参考资料](#参考资料)
+
+
+
+# 两阶段提交协议
+
+Two-phase Commit(2PC)。
+
+可以保证多个节点操作的原子性,经常用来实现分布式事务。
+
+两类节点:协调者(Coordinator)和参与者(Participants),协调者只有一个,参与者可以有多个。
+
+## 1. 运行过程
+
+1. 准备阶段:协调者询问参与者事务是否执行成功;
+
+2. 提交阶段:如果事务在每个参与者上都执行成功,协调者发送通知让参与者提交事务;否则,协调者发送通知让参与者回滚事务。
+
+需要注意的是,在准备阶段,参与者执行了事务,但是还未提交。只有在提交阶段协接收到协调者发来的通知后,才进行提交或者回滚。
+
+## 2. 存在的问题
+
+- 参与者发生故障。解决方案:可以给事务设置一个超时时间,如果某个参与者一直不响应,那么认为事务执行失败。
+
+- 协调者发生故障。解决方案:将操作日志同步到备用协调者,让备用协调者接替后续工作。
+
+# Paxos 协议
+
+用于达成共识性问题,即对多个节点产生的值,该算法能保证只选出唯一一个值。
+
+主要有三类节点:
+
+1. 提议者(Proposer):提议一个值;
+2. 接受者(Acceptor):对每个提议进行投票;
+3. 告知者(Learner):被告知投票的结果,不参与投票的过程。
+
+
+
+## 1. 执行过程
+
+规定一个提议包含两个字段:[n, v],其中 n 为序号(具有唯一性),v 为提议值。
+
+下图演示了两个 Proposer 和三个 Acceptor 的系统中运行该算法的初始过程,每个 Proposer 都会向每个 Acceptor 发送提议请求。
+
+
+
+当 Acceptor 接收到一个提议请求,包含的提议为 [n1, v1],并且之前还未接收过提议请求,那么发送一个提议响应,设置当前接收的提议为 [n1, v1],并且保证以后不会再接受提议值小于 n1 的提议。
+
+如下图,Acceptor X 在收到 [n=2, v=8] 的提议请求时,由于之前没有接收过提议,因此就发送一个 [no previous] 的提议响应,并且设置当前接收的提议为 [n=2, v=8],并且保证以后不会再接受提议值小于 2 的提议。其它的 Acceptor 类似。
+
+
+
+如果 Acceptor 接受到一个提议请求,包含的提议为 [n2, v2],并且之前已经接收过提议 [n1, v1]。如果 n1 > n2,那么就丢弃该提议请求;否则,发送提议响应,该提议响应包含之前已经接收过的提议 [n1, v1],设置当前接收的提议为 [n2, v2],并且保证以后不会再接受提议值小于 n2 的提议。
+
+如下图,Acceptor Z 收到 Proposer A 发来的 [n=2, v=8] 的提议请求,由于之前已经接收过 [n=4, v=5] 的提议,并且 n > 2,因此就抛弃该提议请求;Acceptor X 收到 Proposer B 发来的 [n=4, v=5] 的提议请求,因为之前接收的提议为 [n=2, v=8],并且 2 <= 4,因此就发送 [n=2, v=8] 的提议响应,设置当前接收的提议为 [n=4, v=5],并且保证以后不会再接受提议值小于 4 的提议。Acceptor Y 类似。
+
+
+
+当一个 Proposer 接收到超过一半 Acceptor 的提议响应时,就可以发送接受请求。
+
+如下图,Proposer A 接受到两个提议响应之后,就发送 [n=2, v=8] 接受请求。该接受请求会被所有 Acceptor 丢弃,因为此时所有 Acceptor 都保证不接受提议值小于 4 的提议。Proposer B 过后也收到了两个提议响应,因此也开始发送接受请求。需要注意的是,接受请求的 v 需要取它收到的最大 v 值,也就是 8。因此它发送 [n=4, v=8] 的接受请求。
+
+
+
+Acceptor 接收到接受请求时,如果提议号大于等于该 Acceptor 承诺的最小提议号,那么就发送通知给所有的 Learner。当 Learner 发现有大多数的 Acceptor 接收了某个提议,那么该提议的提议值就被 Paxos 选择出来。
+
+
+
+## 2. 约束条件
+
+**2.1 正确性**
+
+只有一个提议值会生效。
+
+因为 Paxos 协议要求每个生效的提议被多数 Acceptor 接收,并且 Acceptor 不会接受两个不同的提议,因此可以保证正确性。
+
+**2.2 可终止性**
+
+最后总会有一个提议生效。
+
+Paxos 协议能够让 Proposer 发送的提议朝着能被大多数 Acceptor 接受的那个提议靠拢,因此能够保证可终止性。
+
+# Raft 协议
+
+Raft 和 Poxas 类似,但是更容易理解,也更容易实现。
+
+Raft 主要是用来竞选主节点。
+
+## 1. 单个 Candidate 的竞选
+
+有三种节点:Follower、Candidate 和 Leader。Leader 会周期性的发送心跳包给 Follower。每个 Follower 都设置了一个随机的竞选超时时间,一般为 150ms\~300ms,如果在这个时间内没有收到 Leader 的心跳包,就会变成 Candidate,进入竞选阶段。
+
+① 下图表示一个分布式系统的最初阶段,此时只有 Follower,没有 Leader。Follower A 等待一个随机的竞选超时时间之后,没收到 Leader 发来的心跳包,因此进入竞选阶段。
+
+
+
+② 此时 A 发送投票请求给其它所有节点。
+
+
+
+③ 其它节点会对请求进行回复,如果超过一半的节点回复了,那么该 Candidate 就会变成 Leader。
+
+
+
+④ 之后 Leader 会周期性地发送心跳包给 Follower,Follower 接收到心跳包,会重新开始计时。
+
+
+
+## 2. 多个 Candidate 竞选
+
+① 如果有多个 Follower 成为 Candidate,并且所获得票数相同,那么就需要重新开始投票,例如下图中 Candidate B 和 Candidate D 都获得两票,因此需要重新开始投票。
+
+
+
+② 当重新开始投票时,由于每个节点设置的随机竞选超时时间不同,因此能下一次再次出现多个 Candidate 并获得同样票数的概率很低。
+
+
+
+## 3. 日志复制
+
+① 来自客户端的修改都会被传入 Leader。注意该修改还未被提交,只是写入日志中。
+
+
+
+② Leader 会把修改复制到所有 Follower。
+
+
+
+③ Leader 会等待大多数的 Follower 也进行了修改,然后才将修改提交。
+
+
+
+④ 此时 Leader 会通知的所有 Follower 让它们也提交修改,此时所有节点的值达成一致。
+
+
+
+# 拜占庭将军问题
+
+> [拜占庭将军问题深入探讨](http://www.8btc.com/baizhantingjiangjun)
+
+# 参考资料
+
+- 杨传辉. 大规模分布式存储系统: 原理解析与架构实战[M]. 机械工业出版社, 2013.
+- [区块链技术指南](https://www.gitbook.com/book/yeasy/blockchain_guide/details)
+- [NEAT ALGORITHMS - PAXOS](http://harry.me/blog/2014/12/27/neat-algorithms-paxos/)
+- [Raft: Understandable Distributed Consensus](http://thesecretlivesofdata.com/raft)
+- [Paxos By Example](https://angus.nyc/2012/paxos-by-example/)
diff --git a/pics/0aaf4630-d2a2-4783-b3f7-a2b6a7dfc01b.jpg b/pics/0aaf4630-d2a2-4783-b3f7-a2b6a7dfc01b.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..bee1bae5e6b9d4d37fc63e324678325ad40bc206
GIT binary patch
literal 31744
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
bd$;}X?YsX!eU0Pq!hgm8f5rd*H2(h^HeLm)
literal 0
HcmV?d00001
diff --git a/pics/10.gif b/pics/10.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d52a911e5b9566150887142155916d21cae3f74f
GIT binary patch
literal 29696
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