auto commit
This commit is contained in:
10
notes/分布式.md
10
notes/分布式.md
@ -61,7 +61,7 @@ EXPIRE 指令可以为一个键值对设置一个过期时间,从而避免了
|
||||
|
||||
- 尝试从 N 个相互独立 Redis 实例获取锁,如果一个实例不可用,应该尽快尝试下一个;
|
||||
- 计算获取锁消耗的时间,只有当这个时间小于锁的过期时间,并且从大多数(N / 2 + 1)实例上获取了锁,那么就认为锁获取成功了;
|
||||
- 如果锁获取失败,会到每个实例上释放锁。
|
||||
- 如果锁获取失败,就到每个实例上释放锁。
|
||||
|
||||
## Zookeeper 的有序节点
|
||||
|
||||
@ -124,9 +124,7 @@ Zookeeper 提供了一种树形结构级的命名空间,/app1/p_1 节点表示
|
||||
|
||||
## 2PC
|
||||
|
||||
两阶段提交(Two-phase Commit,2PC)
|
||||
|
||||
通过引入协调者(Coordinator)来协调参与者的行为,并最终决定这些参与者是否要真正执行事务。
|
||||
两阶段提交(Two-phase Commit,2PC),通过引入协调者(Coordinator)来协调参与者的行为,并最终决定这些参与者是否要真正执行事务。
|
||||
|
||||
### 1. 运行过程
|
||||
|
||||
@ -152,7 +150,7 @@ Zookeeper 提供了一种树形结构级的命名空间,/app1/p_1 节点表示
|
||||
|
||||
(二)单点问题
|
||||
|
||||
协调者在 2PC 中起到非常大的作用,发生故障将会造成很大影响,特别是在阶段二发生故障,所有参与者会一直等待状态,无法完成其它操作。
|
||||
协调者在 2PC 中起到非常大的作用,发生故障将会造成很大影响。特别是在阶段二发生故障,所有参与者会一直等待状态,无法完成其它操作。
|
||||
|
||||
(三)数据不一致
|
||||
|
||||
@ -214,7 +212,7 @@ Zookeeper 提供了一种树形结构级的命名空间,/app1/p_1 节点表示
|
||||
|
||||
BASE 是基本可用(Basically Available)、软状态(Soft State)和最终一致性(Eventually Consistent)三个短语的缩写。
|
||||
|
||||
BASE 理论是对 CAP 中一致性和可用性权衡的结果,它的理论的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。
|
||||
BASE 理论是对 CAP 中一致性和可用性权衡的结果,它的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。
|
||||
|
||||
<div align="center"> <img src="../pics//bc603930-d74d-4499-a3e7-2d740fc07f33.png"/> </div><br>
|
||||
|
||||
|
Reference in New Issue
Block a user