【Zookeeper面试篇】什么是羊群效应,公平锁怎么实现
生活随笔
收集整理的這篇文章主要介紹了
【Zookeeper面试篇】什么是羊群效应,公平锁怎么实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問:zookeeper羊群效應是怎么回事嗎,如何避免呢
zookeeper用來實現分布式鎖的時候,如果有一個客戶端A拿到了鎖,那么客戶端B、C、D都會監聽A有沒有變化,如果A處理完業務釋放了鎖,那么這個時候B、C、D都監聽到了消息,都會去搶鎖,假如有一百個正在等待的,那么就會有100個上去搶鎖,像羊群一樣蜂擁而至。
這樣的話就會造成資源的浪費,因為這么多節點被驚動了,但是拿到鎖的只有一個節點,為何不只驚動一個節點呢。這里的話我們就要使用zookeeper的公平鎖了。
問:zookeeper公平鎖怎么實現
zookeeper有四種節點類型,其中就有一個臨時順序節點的特性,這個時候我們可以每一次都建立一個臨時順序節點,然后后一個節點監聽前一個節點的變化,只有前一個節點有變化他才能感知到,再往前的節點變化他無法感知到,也就不存在搶鎖的問題。
這樣的話就可以通過臨時順序節點來實現公平鎖。
總結
以上是生活随笔為你收集整理的【Zookeeper面试篇】什么是羊群效应,公平锁怎么实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle、聚石塔
- 下一篇: Linux常用命令--软件包管理之(服务