dubbo原理:負(fù)載均衡算法

Dubbo 中有四種負(fù)載均衡策略:RandomLoadBalance(按權(quán)重隨機(jī))、RoundRobinLoadBalance(輪詢)、LeastActiveLoadBalance(最少活躍數(shù))迹栓、ConsistentHashLoadBalance(一致性哈希)


LoadBalance

1. RandomLoadBalance 隨機(jī)策略

  • 如果所有的權(quán)重一樣兑燥,則隨機(jī)挑選一個節(jié)點模狭;
  • 節(jié)點權(quán)重不一樣:A(1),B(2),C(3),D(4)
    • 先根據(jù)總權(quán)重10 隨機(jī)生成一個數(shù)缩焦,比如說3;
    • 接下來遍歷所有節(jié)點:3-1=2娇未;2-2=0墨缘;0-3=-3,知道offset< 0
    • 3<0 則返回C節(jié)點

2. RoundRobinLoadBalance

輪詢是Dubbo的負(fù)載均衡策略零抬;

  • Round-Robin Scheduling: 按照1-N(節(jié)點數(shù)量) 順序分配節(jié)點镊讼,不考慮權(quán)重。如果某一節(jié)點處理速度較慢平夜,那么該節(jié)點就會累計大量的請求蝶棋。
  • Weighted Round-Robin Scheduling(按照權(quán)重的輪詢):

3. LeastActiveLoadBalance

假設(shè)有A、B兩個節(jié)點忽妒。A玩裙、B兩個節(jié)點分別處理兩個請求,計數(shù)分別+1段直;如果B節(jié)點處理請求比A快吃溅,B處理完請求后,計數(shù)-1鸯檬。于是A的計數(shù)為1决侈,B的計數(shù)為0. 下次請求過來時,B的計數(shù)比較小喧务,于是B節(jié)點獲得請求赖歌。如果A枉圃、B的計數(shù)值一樣,則按照節(jié)點的權(quán)重隨機(jī)選惹握尽(參考RandomLoadBalance)。
擴(kuò)展:ActiveLimitFilter可以用來限制客戶端的并發(fā)請求數(shù)量

4. ConsistentHashLoadBalance

相同參數(shù)的請求痊土,最終都會請求到一個節(jié)點上去肄扎。

  1. 如果某一個節(jié)點down了,節(jié)點總數(shù)-1赁酝,hash/(N-1)和原來的hash/(N)的差別比較大犯祠,導(dǎo)致緩存失效,會引起服務(wù)端較大的震蕩酌呆。N越大衡载,震蕩越大。
  2. 一致性Hash算法解決上述問題
  • 環(huán)形Hash空間
    按照常用的Hash取模的方式隙袁,將key分布在0~(2^32)-1的數(shù)字空間中痰娱,我們可以將這些數(shù)字頭尾相連,想象成一個閉合的環(huán)形菩收。


    屏幕快照 2019-06-30 下午1.12.13.png
  • 采用一致性Hash算法梨睁,把請求參數(shù)、節(jié)點映射到上述的數(shù)字空間中娜饵。
  • 按照順時針的順序坡贺,找到最近的節(jié)點。
  • 如果某一個節(jié)點down了箱舞,請求只會按照順時針尋找到下一個節(jié)點遍坟。于是只影響了一個節(jié)點。但是這樣增加了被影響節(jié)點的訪問壓力晴股,為了分散這種影響愿伴,可以使用虛擬節(jié)點。
  • 假如有N個真實節(jié)點,把每個真實節(jié)點映射成M個虛擬節(jié)點,再把 M*N 個虛擬節(jié)點, 散列在圓環(huán)上. 各真實節(jié)點對應(yīng)的虛擬節(jié)點相互交錯分布這樣,某真實節(jié)點down后,則把其影響平均分擔(dān)到其他所有節(jié)點上.(中間方案)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末电湘,一起剝皮案震驚了整個濱河市公般,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌胡桨,老刑警劉巖官帘,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異昧谊,居然都是意外死亡刽虹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門呢诬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來涌哲,“玉大人胖缤,你說我怎么就攤上這事》Щ” “怎么了哪廓?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長初烘。 經(jīng)常有香客問我涡真,道長,這世上最難降的妖魔是什么肾筐? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任哆料,我火速辦了婚禮,結(jié)果婚禮上吗铐,老公的妹妹穿的比我還像新娘东亦。我一直安慰自己,他們只是感情好唬渗,可當(dāng)我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布典阵。 她就那樣靜靜地躺著,像睡著了一般镊逝。 火紅的嫁衣襯著肌膚如雪萄喳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天蹋半,我揣著相機(jī)與錄音他巨,去河邊找鬼。 笑死减江,一個胖子當(dāng)著我的面吹牛染突,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辈灼,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼份企,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了巡莹?” 一聲冷哼從身側(cè)響起司志,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎降宅,沒想到半個月后骂远,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腰根,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年激才,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡瘸恼,死狀恐怖劣挫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情东帅,我是刑警寧澤压固,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站靠闭,受9級特大地震影響帐我,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜阎毅,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一焚刚、第九天 我趴在偏房一處隱蔽的房頂上張望点弯。 院中可真熱鬧扇调,春花似錦、人聲如沸抢肛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捡絮。三九已至熬芜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間福稳,已是汗流浹背涎拉。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留的圆,地道東北人鼓拧。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像越妈,于是被迫代替她去往敵國和親季俩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 有人說:“其實改變的話梅掠,考證和學(xué)一門技術(shù)是無法解決的酌住,真正的改變是你的思想和別人不一樣⊙质悖” 這句話讓我想到《月亮和...
    落揚(yáng)虛虛閱讀 166評論 1 1
  • 將欲望轉(zhuǎn)變?yōu)樨敻坏倪^程中酪我,毅力是一個不可或缺的因素,成功需要百折不撓的精神且叁。 千言萬語不如一次實際行動...
    天下誰人不讀書閱讀 329評論 0 1
  • 選擇大于努力祭示,并不是說選擇以后就可以不需要努力,而是做好選擇后更加的努力。 要實踐吧质涛。 什么更重要稠歉? 剛剛跟盆友吵...
    大人黃桃閱讀 117評論 0 0
  • 人這一生會遇到很多危險和困難,躲是躲不掉的汇陆,只有克服它怒炸,它才會消失! 有些難只有面對了毡代,接受了阅羹,才能過去,回過頭再...
    隨心追夢人閱讀 1,373評論 0 0