learn from 从0开始学大数据(极客时间)
文章目录
- 1. 分布式一致性原理
- 2. Paxos 算法与 ZooKeeper 架构
1. 分布式一致性原理
CAP 原理认为,一个提供数据服务的分布式系统 无法同时满足 数据一致性(Consistency)、可用性(Availibility)、分区耐受性(Patition Tolerance)这三个条件
- 一致性:返回最新的数据或者错误,而不是过期的数据
- 可用性:每次请求都得到响应,但不保证响应的数据是最新的
- 分区耐受性:即使网络原因导致部分服务器节点丢失或延迟,系统依然可以操作
关于 CAP 原理,更准确的说法是,在分布式系统必须要满足 分区耐受性 的前提下,可用性
和 一致性
无法同时满足
2. Paxos 算法与 ZooKeeper 架构
- 收到请求后,发送给其他服务器进行表决
- 如果收到多个,就按时间戳和服务器排序规则进行表决
只有收到多数表决同意时,才会决定执行 表决机制保证只有一个请求会执行,保证一致性 牺牲了部分可用性,换来数据一致性
- ZooKeeper 提供的 一致性数据服务,用于 选举 集群当前工作的主服务器
- ZooKeeper 系统的 多台服务器存储相同数据,并且每次数据更新都要 所有服务器投票表决,ZooKeeper 集群的 性能 会随着 服务器数量的增加而下降