ZooKeeper 保证数据一致性

2021-09-06 10:08:50 浏览数 (1)

learn from 从0开始学大数据(极客时间)

文章目录

    • 1. 分布式一致性原理
    • 2. Paxos 算法与 ZooKeeper 架构

1. 分布式一致性原理

CAP 原理认为,一个提供数据服务的分布式系统 无法同时满足 数据一致性(Consistency)、可用性(Availibility)、分区耐受性(Patition Tolerance)这三个条件

  • 一致性:返回最新的数据或者错误,而不是过期的数据
  • 可用性:每次请求都得到响应,但不保证响应的数据是最新的
  • 分区耐受性:即使网络原因导致部分服务器节点丢失或延迟,系统依然可以操作

关于 CAP 原理,更准确的说法是,在分布式系统必须要满足 分区耐受性 的前提下,可用性一致性 无法同时满足

2. Paxos 算法与 ZooKeeper 架构

  • 收到请求后,发送给其他服务器进行表决
  • 如果收到多个,就按时间戳和服务器排序规则进行表决

只有收到多数表决同意时,才会决定执行 表决机制保证只有一个请求会执行,保证一致性 牺牲了部分可用性,换来数据一致性

  • ZooKeeper 提供的 一致性数据服务,用于 选举 集群当前工作的主服务器
  • ZooKeeper 系统的 多台服务器存储相同数据,并且每次数据更新都要 所有服务器投票表决,ZooKeeper 集群的 性能 会随着 服务器数量的增加而下降

0 人点赞