zk 和 redis分布式區別

2021-10-07 14:27:10 字數 379 閱讀 2377

redis 獲取鎖的方法比較粗暴,獲取不到,則是不斷的重試;

不是強一致性的,會在極端的情況下出現問題(時間偏移、紅鎖半數以上的節點才可以成功,會出現某節點出現宕機。導致兩個以上的客戶端獲取半數以上投票而獲取分布式鎖、主從節點模式下(主從不一致的情況會導致,兩個以上客戶端獲取分布式鎖))

redis的效能比zk高

對於zk分布式鎖而言:

強一致性的特徵;

獲取不到鎖的客戶端只需要監聽事件則可,無需不停的重試

客戶端與zk節點出現網路問題的情況下,會出現鎖自動失效的可能(同一區域網下,出現的機率幾乎不存在;或者如下圖的處理辦法)

Redis和ZK實現分布式鎖

1 使用redis分布式鎖的原因 redis效能好 命令支援比較好,實現方便。2 實現方式 直接用int setnx寫key,如果成功了,說明獲取鎖成功,否則拿鎖失敗。拿鎖成功之後對key設定超時時間,操作完成時可通過del key釋放鎖。1 通過建立zk的znode節點進行控制。檢查zookeep...

redis與zk實現分布式鎖

概述 那麼這個時候,如果你需要加個鎖,讓多個分布式的機器在訪問共享資源的時候序列起來 那麼這個時候,那個鎖,多個不同機器上的服務共享的鎖,就是分布式鎖 分布式鎖當然有很多種不同的實現方案,redis分布式鎖,zookeeper分布式鎖對比 資料庫鎖 優點 直接使用資料庫,使用簡單。缺點 分布式系統大...

ZK分布式鎖

分布式鎖是控制分布式系統之間同步訪問共享資源的一種方式。如果不同的系統或者是同乙個系統的不同主機之間共享了乙個或者一組資源,那麼訪問這些資源的時候,往往需要一些互斥手段來防止彼此之間的干擾,以保證一致性,在這種情況下,就需要分布式鎖了 zookeeper中有一種節點叫做順序節點,假如我們在 lock...