常見負(fù)載均衡策略

負(fù)載主機(jī)可以提供很多種負(fù)載均衡方法沮明,也就是我們常說的調(diào)度方法或算法

輪循

Round Robin: 這種方法會將收到的請求循環(huán)分配到服務(wù)器集群中的每臺機(jī)器带污,即有效服務(wù)器。如果使用這種方式褒翰,所有的標(biāo)記進(jìn)入虛擬服務(wù)的服務(wù)器應(yīng)該有相近的資源容量 以及負(fù)載形同的應(yīng)用程序代乃。如果所有的服務(wù)器有相同或者相近的性能那么選擇這種方式會使服務(wù)器負(fù)載形同〈笾荩基于這個前提续语,輪循調(diào)度是一個簡單而有效的分配請求 的方式球榆。然而對于服務(wù)器不同的情況诀姚,選擇這種方式就意味著能力比較弱的服務(wù)器也會在下一輪循環(huán)中接受輪循,即使這個服務(wù)器已經(jīng)不能再處理當(dāng)前這個請求了员咽。 這可能導(dǎo)致能力較弱的服務(wù)器超載。

加權(quán)輪循

Weighted Round Robin: 這種算法解決了簡單輪循調(diào)度算法的缺點(diǎn):傳入的請求按順序被分配到集群中服務(wù)器力试,但是會考慮提前為每臺服務(wù)器分配的權(quán)重徙邻。管理員只是簡單的通過服務(wù) 器的處理能力來定義各臺服務(wù)器的權(quán)重。例如畸裳,能力最強(qiáng)的服務(wù)器 A 給的權(quán)重是 100缰犁,同時能力最低的服務(wù)器給的權(quán)重是 50。這意味著在服務(wù)器 B 接收到第一個 請求之前前怖糊,服務(wù)器 A 會連續(xù)的接受到 2 個請求帅容,以此類推。

最少連接數(shù)

Least Connection: 以上兩種方法都沒有考慮的是系統(tǒng)不能識別在給定的時間里保持了多少連接伍伤。因此可能發(fā)生并徘,服務(wù)器 B 服務(wù)器收到的連接比服務(wù)器 A 少但是它已經(jīng)超載,因為 服務(wù)器 B 上的用戶打開連接持續(xù)的時間更長扰魂。這就是說連接數(shù)即服務(wù)器的負(fù)載是累加的麦乞。這種潛在的問題可以通過 “最少連接數(shù)” 算法來避免:傳入的請求是根據(jù)每 臺服務(wù)器當(dāng)前所打開的連接數(shù)來分配的。即活躍連接數(shù)最少的服務(wù)器會自動接收下一個傳入的請求劝评。接本上和簡單輪詢的原則相同:所有擁有虛擬服務(wù)的服務(wù)器資源 容量應(yīng)該相近姐直。值得注意的是,在流量率低的配置環(huán)境中蒋畜,各服務(wù)器的流量并不是相同的声畏,會優(yōu)先考慮第一臺服務(wù)器。這是因為百侧,如果所有的服務(wù)器是相同的砰识,那么 第一個服務(wù)器優(yōu)先,直到第一臺服務(wù)器有連續(xù)的活躍流量佣渴,否則總是會優(yōu)先選擇第一臺服務(wù)器。

最少連接數(shù)慢啟動時間

Least Connection Slow Start Time: 對最少連接數(shù)和帶權(quán)重的最小連接數(shù)調(diào)度方法來說初斑,當(dāng)一個服務(wù)器剛加入線上環(huán)境是辛润,可以為其配置一個時間段,在這段時間內(nèi)連接數(shù)是有限制的而且是緩慢 增加的见秤。這為服務(wù)器提供了一個‘過渡時間’以保證這個服務(wù)器不會因為剛啟動后因為分配的連接數(shù)過多而超載砂竖。這個值在 L7 配置界面設(shè)置。

加權(quán)最少連接

Weighted Least Connection: 如果服務(wù)器的資源容量各不相同鹃答,那么 “加權(quán)最少連接” 方法更合適:由管理員根據(jù)服務(wù)器情況定制的權(quán)重所決定的活躍連接數(shù)一般提供了一種對服務(wù)器非常 平衡的利用乎澄,因為他它借鑒了最少連接和權(quán)重兩者的優(yōu)勢。通常测摔,這是一個非常公平的分配方式置济,因為它使用了連接數(shù)和服務(wù)器權(quán)重比例解恰;集群中比例最低的服務(wù)器 自動接收下一個請求。但是請注意浙于,在低流量情況中使用這種方法時护盈,請參考 “最小連接數(shù)” 方法中的注意事項。

基于代理的自適應(yīng)負(fù)載均衡

Agent Based Adaptive Balancing: 除了上述方法之外羞酗,負(fù)載主機(jī)包含一個自適用邏輯用來定時監(jiān)測服務(wù)器狀態(tài)和該服務(wù)器的權(quán)重腐宋。對于非常強(qiáng)大的 “基于代理的自適應(yīng)負(fù)載均衡” 方法來說,負(fù) 載主機(jī)以這種方式來定時檢測所有服務(wù)器負(fù)載情況:每臺服務(wù)器都必須提供一個包含文件檀轨,這個文件包含一個 0~99 的數(shù)字用來標(biāo)明改服務(wù)器的實際負(fù)載情況 (0 = 空前胸竞,99 = 超載,101 = 失敗参萄,102 = 管理員禁用)卫枝,而服務(wù)器同構(gòu) http get 方法來獲取這個文件;同時對集群中服務(wù)器來說拧揽,以二進(jìn)制文件形式提供自身負(fù)載情況也是該服務(wù)器工作之一剃盾,然而,并沒有限制服務(wù)器如何計算自身的負(fù)載 情況淤袜。根據(jù)服務(wù)器整體負(fù)載情況痒谴,有兩種策略可以選擇:在常規(guī)的操作中,調(diào)度算法通過收集的服務(wù)器負(fù)載值和分配給該服務(wù)器的連接數(shù)的比例計算出一個權(quán)重比 例铡羡。因此积蔚,如果一個服務(wù)器負(fù)載過大,權(quán)重會通過系統(tǒng)透明的作重新調(diào)整烦周。和加權(quán)輪循調(diào)度方法一樣尽爆,不正確的分配可以被記錄下來使得可以有效的為不同服務(wù)器分 配不同的權(quán)重。然而读慎,在流量非常低的環(huán)境下漱贱,服務(wù)器報上來的負(fù)載值將不能建立一個有代表性的樣本;那么基于這些值來分配負(fù)載的話將導(dǎo)致失控以及指令震蕩夭委。 因此幅狮,在這種情況下更合理的做法是基于靜態(tài)的權(quán)重比來計算負(fù)載分配。當(dāng)所有服務(wù)器的負(fù)載低于管理員定義的下限時株灸,負(fù)載主機(jī)就會自動切換為加權(quán)輪循方式來分 配請求崇摄;如果負(fù)載大于管理員定義的下限,那么負(fù)載主機(jī)又會切換回自適應(yīng)方式慌烧。

固定權(quán)重

Fixed Weighted: 最高權(quán)重只有在其他服務(wù)器的權(quán)重值都很低時才使用逐抑。然而,如果最高權(quán)重的服務(wù)器下降屹蚊,則下一個最高優(yōu)先級的服務(wù)器將為客戶端服務(wù)厕氨。這種方式中每個真實服務(wù)器的權(quán)重需要基于服務(wù)器優(yōu)先級來配置进每。

加權(quán)響應(yīng)

Weighted Response: 流量的調(diào)度是通過加權(quán)輪循方式。加權(quán)輪循中所使用的權(quán)重是根據(jù)服務(wù)器有效性檢測的響應(yīng)時間來計算腐巢。每個有效性檢測都會被計時品追,用來標(biāo)記它響應(yīng)成功花 了多長時間。但是需要注意的是冯丙,這種方式假定服務(wù)器心跳檢測是基于機(jī)器的快慢肉瓦,但是這種假設(shè)也許不總是能夠成立。所有服務(wù)器在虛擬服務(wù)上的響應(yīng)時間的總和 加在一起胃惜,通過這個值來計算單個服務(wù)物理服務(wù)器的權(quán)重泞莉;這個權(quán)重值大約每 15 秒計算一次。

源 IP 哈希

Source IP Hash: 這種方式通過生成請求源 IP 的哈希值船殉,并通過這個哈希值來找到正確的真實服務(wù)器鲫趁。這意味著對于同一主機(jī)來說他對應(yīng)的服務(wù)器總是相同。使用這種方式利虫,你不需要保存任何源 IP挨厚。但是需要注意,這種方式可能導(dǎo)致服務(wù)器負(fù)載不平衡糠惫。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末疫剃,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子硼讽,更是在濱河造成了極大的恐慌巢价,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件固阁,死亡現(xiàn)場離奇詭異壤躲,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)备燃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門碉克,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人并齐,你說我怎么就攤上這事棉胀。” “怎么了冀膝?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長霎挟。 經(jīng)常有香客問我窝剖,道長,這世上最難降的妖魔是什么酥夭? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任赐纱,我火速辦了婚禮脊奋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘疙描。我一直安慰自己诚隙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布起胰。 她就那樣靜靜地躺著久又,像睡著了一般。 火紅的嫁衣襯著肌膚如雪效五。 梳的紋絲不亂的頭發(fā)上地消,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機(jī)與錄音畏妖,去河邊找鬼脉执。 笑死,一個胖子當(dāng)著我的面吹牛戒劫,可吹牛的內(nèi)容都是我干的半夷。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼迅细,長吁一口氣:“原來是場噩夢啊……” “哼巫橄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起疯攒,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤嗦随,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后敬尺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體枚尼,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年砂吞,在試婚紗的時候發(fā)現(xiàn)自己被綠了署恍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡蜻直,死狀恐怖盯质,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情概而,我是刑警寧澤呼巷,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站赎瑰,受9級特大地震影響王悍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜餐曼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一压储、第九天 我趴在偏房一處隱蔽的房頂上張望鲜漩。 院中可真熱鬧,春花似錦集惋、人聲如沸孕似。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽喉祭。三九已至,卻和暖如春为朋,著一層夾襖步出監(jiān)牢的瞬間臂拓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工习寸, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留胶惰,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓霞溪,卻偏偏與公主長得像孵滞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鸯匹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評論 2 344

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

  • 四層負(fù)載均衡:僅僅建立一次 TCP 連接 七層負(fù)載均衡:負(fù)載均衡器與客戶端及后端的服務(wù)器會分別建立一個 TCP 連...
    養(yǎng)碼哥閱讀 1,609評論 0 6
  • 輪詢(Round Robin):這種方法就會將收到的請求循環(huán)分配到服務(wù)器集群中的每臺機(jī)器坊饶,即有效服務(wù)器。如果使用這...
    直沖車閱讀 545評論 0 1
  • Nacos Feign 客戶端 什么是 Feign Feign 是一個聲明式的偽 HTTP 客戶端殴蓬,它使得寫 HT...
    忞觸動心靈閱讀 18,096評論 2 3
  • 原文 一匿级、什么是負(fù)載均衡? 互聯(lián)網(wǎng)早期染厅,業(yè)務(wù)流量比較小并且業(yè)務(wù)邏輯比較簡單痘绎,單臺服務(wù)器便可以滿足基本的需求;但隨著...
    baby_honour閱讀 215評論 0 1
  • 一肖粮、什么是負(fù)載均衡孤页? 互聯(lián)網(wǎng)早期,業(yè)務(wù)流量比較小并且業(yè)務(wù)邏輯比較簡單涩馆,單臺服務(wù)器便可以滿足基本的需求行施;但隨著互聯(lián)網(wǎng)...
    彬彬醬閱讀 2,182評論 0 19