自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

真的,千萬不要給女朋友解釋 什么是 “羊群效應(yīng)”

開發(fā) 前端
媳婦最近突然愛學(xué)習(xí)了,各種刷算法、架構(gòu)方面的題,沒日沒夜的帶娃還有這個勁頭,著實(shí)讓我沒想到??此埔黄佬老驑s,不過,長期的生存經(jīng)驗(yàn)告訴我,這并不是什么好事,事出反常必有妖~

 [[360320]]

本文轉(zhuǎn)載自微信公眾號「程序員內(nèi)點(diǎn)事」,作者程序員內(nèi)點(diǎn)事 。轉(zhuǎn)載本文請聯(lián)系程序員內(nèi)點(diǎn)事公眾號。

媳婦最近突然愛學(xué)習(xí)了,各種刷算法、架構(gòu)方面的題,沒日沒夜的帶娃還有這個勁頭,著實(shí)讓我沒想到??此埔黄佬老驑s,不過,長期的生存經(jīng)驗(yàn)告訴我,這并不是什么好事,事出反常必有妖~

一個測試人員不變著花樣找 bug,開始研究代碼想制造 bug了,彎轉(zhuǎn)的有點(diǎn)急啊,不過,不管怎么樣渴望學(xué)習(xí)是好事。我這點(diǎn)水平忽悠她,那還不跟欺負(fù)小學(xué)生一樣。

那天突然問我:" 什么是 zookeeper 的羊群效應(yīng)?",我有點(diǎn)驚訝,問的挺深入,看來這次是認(rèn)真學(xué)了啊。那得趕緊講不能打消人家的學(xué)習(xí)積極性。

其實(shí)這是個挺簡單的概念,羊群效應(yīng)常在zookeeper實(shí)現(xiàn)分布式鎖的場景中發(fā)生,建議沒接觸過ZK的同學(xué)先補(bǔ)習(xí)下基礎(chǔ)知識,分析一下zookeeper實(shí)現(xiàn)分布式鎖的原理就更容易理解了,看下圖:

普通分布式鎖

利用zookeeper獨(dú)特的類似文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),可以像創(chuàng)建文件夾一樣隨意創(chuàng)建節(jié)點(diǎn)my_lock,節(jié)點(diǎn)下可以創(chuàng)建子節(jié)點(diǎn),節(jié)點(diǎn)還可以存儲數(shù)據(jù)并生成有序自增的節(jié)點(diǎn)ID my_lock_00000001 .... my_lock_0000000N等。這樣先創(chuàng)建的節(jié)點(diǎn)序號ID 就越小,誰的節(jié)點(diǎn)ID 最小則視為拿到鎖,拿到鎖的節(jié)點(diǎn)處理完業(yè)務(wù)后刪除對應(yīng)節(jié)點(diǎn)釋放鎖。

而沒拿到鎖的線程通過設(shè)置watcher監(jiān)控節(jié)點(diǎn)my_lock,一旦發(fā)現(xiàn)該節(jié)點(diǎn)下有線程釋放鎖刪除子節(jié)點(diǎn),其余 所有線程 重新獲取my_lock下 全部子節(jié)點(diǎn) 比較自身節(jié)點(diǎn)是否為最小,最小則獲得鎖,一直如此重復(fù),直到所有線程都拿到鎖。

那這樣就產(chǎn)生一個現(xiàn)象,在整個分布式鎖的競爭過程中,存在大量重復(fù)運(yùn)行的動作,并且絕大多數(shù)都是無效操作,判斷出自己并非是序號最小的節(jié)點(diǎn),從而繼續(xù)等待下一次通知,這就是所謂的 “羊群效應(yīng)”。

如果節(jié)點(diǎn)數(shù)量足夠多,當(dāng)刪除一個節(jié)點(diǎn)大量客戶端同時監(jiān)聽,比較自己自身節(jié)點(diǎn)是否為最小,就會產(chǎn)生大量的網(wǎng)絡(luò)開銷,會大大降低整個zookeeper集群的性能,所以必須對現(xiàn)有的分布式鎖進(jìn)行優(yōu)化,如下圖:

優(yōu)化后的分布式鎖

既然只想判斷自身是不是最小的節(jié)點(diǎn),那么每次比較的時候,比如 my_lock_00000002 發(fā)現(xiàn)自己不是最小節(jié)點(diǎn)后,這時只要找到前一個節(jié)點(diǎn)my_lock_00000001 并watcher 監(jiān)控它。當(dāng)my_lock_00000001 釋放鎖刪除節(jié)點(diǎn),則會通知節(jié)點(diǎn)my_lock_00000002該你拿鎖了,其他節(jié)點(diǎn)以此類推,這樣有序監(jiān)聽就解決了“羊群效應(yīng)”。

吧啦吧啦半天,給我自己都講嗨了,我問人家懂了嘛,她來一句:懂了一丟丟,要不你再講一遍?

對于這種顏值高過智商的選手,我決定換一種講解思路,用一個故事打動她~

咳~ 咳~ 咳~ 開始了

學(xué)以致用

未來的某一天,富仔(ZK)睜眼突然發(fā)現(xiàn)自己穿越到了大學(xué)時代,躺在某師范學(xué)院的宿舍床上,臉竟然還被換成了吳某凡的。這讓原本貧瘠的顏值一下子達(dá)到巔峰,再也不用因?yàn)槭前嗬镂ㄒ坏哪猩譀]女生喜歡而自卑了。

帥歸帥課還是要上的,不巧這天上課遲到了,富仔剛推開階梯教室的大門,突然有個美女尖叫著大喊:“看,富仔今天好帥!”,頓時屋內(nèi)一陣騷亂,大家左顧右盼,面面相覷。

[[360321]]

羊群,咩,咩,咩

突然,眾美女們一窩蜂的向他撲過來,這時有個叫楊某冪(線程1)的美女眼疾手快,一把抓住他的手,問能不能陪她去操場溜達(dá)一圈(處理業(yè)務(wù)),富仔這人心軟,一看她楚楚可憐的樣子就答應(yīng)了,楊某冪立馬拉著他的手飛奔向操場。其他的美女略顯失落的回到座位。

十分鐘后,做完該做的,富仔還是心心念念著學(xué)業(yè),執(zhí)意堅(jiān)持去上課,回到教室門口松開楊某冪的手,準(zhǔn)備走向自己的座位。

此時眾美女們又一擁而上,這回是一個叫唐某嫣(線程2)的美女得手了,問富仔是不是也能陪她溜達(dá)一圈,富仔看她不是那么好看,委婉的拒絕了(不是最小)。

后邊的鄭某爽(線程3)一把推開唐某嫣抓住富仔的手,問能不能陪她,富仔看著這妹子顏值不錯,果斷答應(yīng)了~

這樣幾次以后導(dǎo)員(ZK集群服務(wù))看不下去了,嚴(yán)厲的與富仔交涉,雖然你的容貌驚為天人,但是你不能影響課堂紀(jì)律,同學(xué)們天天在教室練百米沖刺可不行,沒法專心學(xué)習(xí)了。

富仔一想覺得非常有道理,告訴妹子們不用天天盯著自己了,還是要專心學(xué)習(xí)。

于是為全班妹子放了號,排了值日表,誰拿的號越靠前誰優(yōu)先得到富仔溜達(dá)權(quán),后邊的人只要盯住(watcher)拿她前一個號的那個人就行,前邊的人溜達(dá)完,后邊的趕緊跟上,就這樣富仔開始了沒羞沒臊的大學(xué)時光。

[[360322]]

我:這回懂了嗎?

啪~ 一個大巴掌落我腦袋上了

暴躁女友:你們在操場干什么了?

我:......

暴躁女友:你是不是早就有這想法了,想當(dāng)皇帝是嘛,啊!?

我:......

 

責(zé)任編輯:武曉燕 來源: 程序員內(nèi)點(diǎn)事
相關(guān)推薦

2020-03-16 14:08:59

線程熔斷限流

2021-09-14 12:00:11

VR字節(jié)跳動

2019-10-09 10:45:16

云計算Web互聯(lián)網(wǎng)

2020-10-19 13:01:31

刪庫程序員思科

2019-04-26 14:46:18

GitGitHub局域網(wǎng)

2019-07-22 10:34:31

大案牘術(shù)大數(shù)據(jù)Big Data

2019-12-23 10:26:02

3PC分布式2PC

2021-03-09 12:27:05

微服務(wù) 微服務(wù)架構(gòu)應(yīng)用程序

2019-11-04 10:14:35

區(qū)塊鏈幣圈鏈圈

2020-09-08 08:57:30

區(qū)塊鏈

2020-12-28 12:37:36

緩存擊穿穿透

2020-03-23 12:57:20

撞庫脫庫洗庫

2019-03-12 09:43:14

反向代理正向代理服務(wù)器

2020-03-18 09:31:47

設(shè)計模式軟件

2021-09-06 08:50:49

服務(wù)Dubbo參數(shù)

2019-04-09 09:40:23

2019-08-13 10:34:26

鴻蒙OS跨平臺Linux內(nèi)核

2020-08-14 09:04:34

分布式事務(wù)

2020-10-15 09:35:27

亂碼UTF-8GBK

2015-11-03 16:16:03

數(shù)據(jù)中心建設(shè)羊群效應(yīng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號