# 分布式基础理论

## 分布式环境的特点

* **并发性**：分布式系统中多个节点，同时访问一个共享资源（数据库、分布式存储）
* **无序性**：进程之间的消息通讯，会出现顺序不一致的问题

## 分布式环境下面临的问题

* **网络通信**：电缆被挖断、网线被老鼠咬断、等外在因素。网络本身具有不可靠性，所以会存在一些网络通信问题
* **网络分区**：当网络发生异常，导致分布式系统中部分j节点的网络延迟不断增大，最终导致组成分布式系统架构的所有节点，只有部分节点能够正常通信。这样，可能会重新选举一个master，形成脑裂。
* **三态**：在分布式环境中，除了成功态、失败态、还有超时态
* **分布式事务**

## 中心化 与 去中心化

避免中心化，中心瘫痪，整个系统都会瘫痪。

**去中心化的核心解决方案**：

* 冷备： 领导病倒，选举新的领导
* 热备： 两个领导存活，一个工作，另一个候补

**“领导”的能力问题**：

* 领导可带领人数同样有上线，只能带50人，100人就不具备领导能力

> 大多数分布式架构中，很多架构思想都采用： 当集群发生故障后，集群中的人群会自动选举出一个新的领导

最典型的是：zookeeper / etcd
