分布式鎖的相關的CAP理論總結


CAP理論

在分布式領域,有一個非常重要的理論叫做CAP理論。

  • C:Consistency(一致性)

  • A:Availability(可用性)

  • P:Partition tolerance(分區容錯性)

在分布式領域中,是必須要保證分區容錯性的,也就是必須要保證“P”,所以,我們只能保證CP或者AP。

這里,我們可以使用Redis和Zookeeper來進行簡單的對比,我們可以使用Redis實現AP架構的分布式鎖,使用Zookeeper實現CP架構的分布式鎖。

  • 基於Redis的AP架構的分布式鎖模型

         

       在基於Redis實現的AP架構的分布式鎖模型中,向Redis節點1寫入數據后,會立即返回結果,之后在Redis中會以異步的方式來同步數據。

  • 基於Zookeeper的CP架構的分布式鎖模型

         

 

在基於Zookeeper實現的CP架構的分布式模型中,向節點1寫入數據后,會等待數據的同步結果,當數據在大多數Zookeeper節點間同步成功后,才會返回結果數據。

當我們使用基於Redis的AP架構實現分布式鎖時,需要注意一個問題,這個問題可以使用下圖來表示。

   

 

也就是Redis主從節點之間的數據同步失敗,假設線程向Master節點寫入了數據,而Redis中Master節點向Slave節點同步數據失敗了。

此時,另一個線程讀取的Slave節點中的數據,發現沒有添加分布式鎖,此時就會出現問題了!!!

所以,在設計分布式鎖方案時,也需要注意Redis節點之間的數據同步問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM