zookeeper的设计猜想-数据同步
生活随笔
收集整理的這篇文章主要介紹了
zookeeper的设计猜想-数据同步
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
接著上面那個結論再來思考,如果要滿足這樣的一個高性能集群,我們最直觀的想法應該是,每個節點都能接收到請求,并且每個節點的數據都必須要保持一致。要實現各個節點的數據一致性,就勢必要一個leader節點負責協調和數據同步操作。這個我想大家都知道,如果在這樣一個集群中沒有leader節點,每個節點都可以接收所有請求,那么這個集群的數據同步的復雜度是非常大?
所以,當客戶端請求過來時,需要滿足,事務型數據和非事務型數據的分開處理方式,就是leader節點可以處理事務和非事務型數據。而follower節點只能處理非事務型數據。原因是,對于數據變更的操作,應該由一個節點來維護,使得集群數據處理的簡化。同時數據需要能夠通過
leader進行分發使得數據在集群中各個節點的一致性
leader節點如何和其他節點保證數據一致性,并且要求是強一致的。在分布式系統中,每一個機器節點雖然都能夠明確知道自己進行的事務操作過程是成功和失敗,但是卻無法直接獲取其他分布式節點的操作結果。所以當一個事務操作涉及到跨節點的時候,就需要用到分布式事務,分布式事務的數據一致性協議有2PC協議和3PC協議
?
?
總結
以上是生活随笔為你收集整理的zookeeper的设计猜想-数据同步的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zookeeper的设计猜想-Follo
- 下一篇: zookeeper的设计猜想-关于 2P