丰富了BASE理论; · codecodeabc/JavaCore@257ecb5 · GitHub
Skip to content

Commit 257ecb5

Browse files
author
代码风水师
committed
丰富了BASE理论;
添加了2PC协议。
1 parent e091086 commit 257ecb5

3 files changed

Lines changed: 78 additions & 16 deletions

File tree

README.md

Lines changed: 11 additions & 11 deletions
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,31 @@
1+
<h3 style="padding-bottom:6px; padding-left:20px; color:#ffffff; background-color:#E74C3C;">一、2PC协议</h3>
12

3+
> 2PC 是 *Two-Phase Commit Protocol* ,中文名称 **两阶段提交协议**,它是为了解决 *分布式一致性* 问题而产生的算法。分布式一致性问题是分布式系统各个节点(分区)如何就一项决议达成一致的问题,构成的一组操作称为**事务** (又称 **分布式事务**)。
4+
5+
两阶段提交协议是指事务提交的过程分为两个阶段:准备阶段和提交阶段。其中事务的发起者称 **协调者** ,事务的执行者称 **参与者** 。一般,在一个事务中有一个协调者和多个参与者。
6+
7+
![2PC]()
8+
9+
#### 准备阶段:
10+
11+
首先,协调者询问事务中各个参与者是否可以执行操作。然后,事务中的各个参与者执行操作(占有资源)并做出回答YES/NO给协调者;
12+
13+
#### 提交阶段:
14+
15+
最后,协调者检查事务中的各个参与者的反馈,全部反馈YES则做事务提交,否则存在NO则做事务回滚。
16+
17+
#### 下面通过一个案例来说明:
18+
19+
比如某用户想从杭州去巴黎,但杭州没有直达巴黎的机票,他想先从杭州转到北京,然后从北京飞往巴黎。他想通过携程APP进行购票,
20+
21+
22+
23+
![准备阶段]()
24+
25+
26+
27+
![提交阶段]()
28+
29+
30+
31+
<h3 style="padding-bottom:6px; padding-left:20px; color:#ffffff; background-color:#E74C3C;">二、3PC协议</h3>
Lines changed: 37 additions & 5 deletions

0 commit comments

Comments
 (0)