ZooKeeper 保证数据一致性
生活随笔
收集整理的這篇文章主要介紹了
ZooKeeper 保证数据一致性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
learn from 從0開始學大數據(極客時間)
文章目錄
- 1. 分布式一致性原理
- 2. Paxos 算法與 ZooKeeper 架構
1. 分布式一致性原理
CAP 原理認為,一個提供數據服務的分布式系統 無法同時滿足 數據一致性(Consistency)、可用性(Availibility)、分區耐受性(Patition Tolerance)這三個條件
- 一致性:返回最新的數據或者錯誤,而不是過期的數據
- 可用性:每次請求都得到響應,但不保證響應的數據是最新的
- 分區耐受性:即使網絡原因導致部分服務器節點丟失或延遲,系統依然可以操作
關于 CAP 原理,更準確的說法是,在分布式系統必須要滿足 分區耐受性 的前提下,可用性 和 一致性 無法同時滿足
2. Paxos 算法與 ZooKeeper 架構
- 收到請求后,發送給其他服務器進行表決
- 如果收到多個,就按時間戳和服務器排序規則進行表決
只有收到多數表決同意時,才會決定執行
表決機制保證只有一個請求會執行,保證一致性
犧牲了部分可用性,換來數據一致性
- ZooKeeper 提供的 一致性數據服務,用于 選舉 集群當前工作的主服務器
- ZooKeeper 系統的 多臺服務器存儲相同數據,并且每次數據更新都要 所有服務器投票表決,ZooKeeper 集群的 性能 會隨著 服務器數量的增加而下降
總結
以上是生活随笔為你收集整理的ZooKeeper 保证数据一致性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode MySQL 1667.
- 下一篇: 决策树相关知识小结