auto commit
This commit is contained in:
parent
62a9149c4e
commit
b18d9559c2
|
@ -18,6 +18,10 @@
|
|||
* [1. 强同步复制协议](#1-强同步复制协议)
|
||||
* [2. 异步复制协议](#2-异步复制协议)
|
||||
* [CAP](#cap)
|
||||
* [BASE](#base)
|
||||
* [1. 基本可用](#1-基本可用)
|
||||
* [2. 软状态](#2-软状态)
|
||||
* [3. 最终一致性](#3-最终一致性)
|
||||
* [容错](#容错)
|
||||
* [1. 故障检测](#1-故障检测)
|
||||
* [2. 故障恢复](#2-故障恢复)
|
||||
|
@ -160,6 +164,28 @@ Distributed Hash Table(DHT):对于哈希空间 0\~2<sup>n</sup>,将该
|
|||
|
||||
需要注意的是,分区容忍性必不可少,因为需要总是假设网络是不可靠的。因此实际上设计分布式系统需要在一致性和可用性之间做权衡。
|
||||
|
||||
# BASE
|
||||
|
||||
BASE 是 Basically Available(基本可用)、Soft state(软状态)和 Eventually consistent(最终一致性)三个短语的缩写。BASE 理论是对 CAP 中一致性和可用性权衡的结果,是基于 CAP 定理逐步演化而来的。BASE 理论的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。
|
||||
|
||||
## 1. 基本可用
|
||||
|
||||
指分布式系统在出现故障的时候,保证核心可用,允许损失部分可用性。
|
||||
|
||||
例如,电商在做促销时,服务层可能只提供降级服务,部分用户可能会被引导到降级页面上。
|
||||
|
||||
## 2. 软状态
|
||||
|
||||
指允许系统存在中间状态,而该中间状态不会影响系统整体可用性,即不同节点的数据副本之间进行同步的过程允许存在延时。
|
||||
|
||||
## 3. 最终一致性
|
||||
|
||||
指所有的数据副本,在经过一段时间的同步之后,最终都能够达到一致的状态。
|
||||
|
||||
强一致性需要保证数据副本实时一致,而最终一致性只需要保证过一段时间是一致的。
|
||||
|
||||
ACID 是传统数据库系统常用的设计理论,追求强一致性模型。BASE 常用于大型分布式系统,只需要保证最终一致性。在实际的分布式场景中,不同业务单元和组件对一致性的要求是不同的,因此 ACID 和 BASE 往往会结合在一起使用。
|
||||
|
||||
# 容错
|
||||
|
||||
分布式系统故障发生的概率很大,为了实现高可用以及减少人工运维成本,需要实现自动化容错。
|
||||
|
|
Loading…
Reference in New Issue
Block a user