簡單聊聊分布式鎖 zookeeper分布式鎖

2021-09-26 21:50:20 字數 910 閱讀 8406

zookeeper分布式鎖

zookeeper分布式鎖

舉個栗子。對某乙個資料連續發出兩個修改操作,兩台機器同時收到了請求,但是只能一台機器先執行完另外乙個機器再執行。那麼此時就可以使用 zookeeper 分布式鎖,乙個機器接收到了請求之後先獲取 zookeeper 上的一把分布式鎖,就是可以去建立乙個 znode,接著執行操作;然後另外乙個機器也嘗試去建立那個 znode,結果發現自己建立不了,因為被別人建立了,那只能等著,等第乙個機器執行完了自己再執行。

也可以採用另一種方式,建立臨時順序節點:

如果有一把鎖,被多個人給競爭,此時多個人會排隊,第乙個拿到鎖的人會執行,然後釋放鎖;後面的每個人都會去監聽排在自己前面的那個人建立的 node 上,一旦某個人釋放了鎖,排在自己後面的人就會被 zookeeper 給通知,一旦被通知了之後,就 ok 了,自己就獲取到了鎖,就可以執行**了。

zookeeper分布式協調

zookeeper分布式協調

這個其實是 zookeeper 很經典的乙個用法,簡單來說,就好比,你 a 系統傳送個請求到 mq,然後 b 系統訊息消費之後處理了。那 a 系統如何知道 b 系統的處理結果?用 zookeeper 就可以實現分布式系統之間的協調工作。a 系統傳送請求之後可以在 zookeeper 上對某個節點的值註冊個***,一旦 b 系統處理完了就修改 zookeeper 那個節點的值,a 系統立馬就可以收到通知,完美解決。

簡單聊聊分布式鎖 Redis分布式鎖

單機redis分布式鎖 單機redis分布式鎖 首先咱們先聊聊單機的redis分布式鎖 第乙個最普通的實現方式,就是在 redis 裡使用 setnx 命令建立乙個 key,這樣就算加鎖。set resource name my random value nx px 30000執行這個命令就 ok。...

從構建分布式秒殺系統聊聊分布式鎖

摘要 前言 最近懶成一坨屎,學不動系列一波接一波,大多還都是底層原理相關的。上周末抽時間重讀了周志明大濕的 jvm 高效併發部分,每讀一遍都有不同的感悟。路漫漫,藉此,把前段時間搞著玩的秒殺案例中的分布式鎖深入了解一下。最近懶成一坨屎,學不動系列一波接一波,大多還都是底層原理相關的。上周末抽時間重讀...

分布式 分布式鎖

本質是利用redis的setnx 方法的特性來加鎖,setnx 即key不存在則設定key,否則直接返回false,要求在分布式系統中使用同乙個redis服務,以下提供兩種解決方案 1 直接使用redistemplate 這其實並不能完全保證高併發下的安全問題,因為可能在鎖過期之後該執行緒尚未執行完...