負(fù)載均衡SLB

前言

在軟件系統(tǒng)的架構(gòu)設(shè)計(jì)中番舆,對(duì)集群的負(fù)載均衡設(shè)計(jì)是作為高性能系統(tǒng)優(yōu)化環(huán)節(jié)中必不可少的方案乌庶。負(fù)載均衡本質(zhì)上是用于將用戶流量進(jìn)行均衡減壓的,因此在互聯(lián)網(wǎng)的大流量項(xiàng)目中翔冀,其重要性不言而喻侍咱。

一舍悯、什么是負(fù)載均衡戒祠?

早期的互聯(lián)網(wǎng)應(yīng)用声怔,由于用戶流量比較小回懦,業(yè)務(wù)邏輯也比較簡(jiǎn)單气笙,往往一個(gè)單服務(wù)器就能滿足負(fù)載需求。隨著現(xiàn)在互聯(lián)網(wǎng)的流量越來(lái)越大怯晕,稍微好一點(diǎn)的系統(tǒng)潜圃,訪問(wèn)量就非常大了,并且系統(tǒng)功能也越來(lái)越復(fù)雜舟茶,那么單臺(tái)服務(wù)器就算將性能優(yōu)化得再好谭期,也不能支撐這么大用戶量的訪問(wèn)壓力了堵第,這個(gè)時(shí)候就需要使用多臺(tái)機(jī)器,設(shè)計(jì)高性能的集群來(lái)應(yīng)對(duì)隧出。

那么踏志,多臺(tái)服務(wù)器是如何去均衡流量、如何組成高性能的集群的呢胀瞪?

此時(shí)就需要請(qǐng)出 「負(fù)載均衡器」 入場(chǎng)了针余。

負(fù)載均衡(Load Balancer)是指把用戶訪問(wèn)的流量,通過(guò)「負(fù)載均衡器」凄诞,根據(jù)某種轉(zhuǎn)發(fā)的策略圆雁,均勻的分發(fā)到后端多臺(tái)服務(wù)器上,后端的服務(wù)器可以獨(dú)立的響應(yīng)和處理請(qǐng)求帆谍,從而實(shí)現(xiàn)分散負(fù)載的效果伪朽。負(fù)載均衡技術(shù)提高了系統(tǒng)的服務(wù)能力,增強(qiáng)了應(yīng)用的可用性汛蝙。


來(lái)自網(wǎng)絡(luò).png

二烈涮、負(fù)載均衡方案有幾種?

目前市面上最常見(jiàn)的負(fù)載均衡技術(shù)方案主要有三種:

基于DNS負(fù)載均衡

基于硬件負(fù)載均衡

基于軟件負(fù)載均衡

三種方案各有優(yōu)劣窖剑,DNS負(fù)載均衡可以實(shí)現(xiàn)在地域上的流量均衡坚洽,硬件負(fù)載均衡主要用于大型服務(wù)器集群中的負(fù)載需求,而軟件負(fù)載均衡大多是基于機(jī)器層面的流量均衡苛吱。在實(shí)際場(chǎng)景中酪术,這三種是可以組合在一起使用。下面來(lái)詳細(xì)講講:

基于DNS負(fù)載均衡


來(lái)自網(wǎng)絡(luò).png

基于DNS來(lái)做負(fù)載均衡其實(shí)是一種最簡(jiǎn)單的實(shí)現(xiàn)方案翠储,通過(guò)在DNS服務(wù)器上做一個(gè)簡(jiǎn)單配置即可绘雁。

其原理就是當(dāng)用戶訪問(wèn)域名的時(shí)候,會(huì)先向DNS服務(wù)器去解析域名對(duì)應(yīng)的IP地址援所,這個(gè)時(shí)候我們可以讓DNS服務(wù)器根據(jù)不同地理位置的用戶返回不同的IP庐舟。比如南方的用戶就返回我們?cè)趶V州業(yè)務(wù)服務(wù)器的IP,北方的用戶來(lái)訪問(wèn)的話住拭,我就返回北京業(yè)務(wù)服務(wù)器所在的IP挪略。

在這個(gè)模式下,用戶就相當(dāng)于實(shí)現(xiàn)了按照「就近原則」將請(qǐng)求分流了滔岳,既減輕了單個(gè)集群的負(fù)載壓力杠娱,也提升了用戶的訪問(wèn)速度。

使用DNS做負(fù)載均衡的方案谱煤,天然的優(yōu)勢(shì)就是配置簡(jiǎn)單摊求,實(shí)現(xiàn)成本非常低,無(wú)需額外的開(kāi)發(fā)和維護(hù)工作刘离。

但是也有一個(gè)明顯的缺點(diǎn)是:當(dāng)配置修改后室叉,生效不及時(shí)睹栖。這個(gè)是由于DNS的特性導(dǎo)致的,DNS一般會(huì)有多級(jí)緩存茧痕,所以當(dāng)我們修改了DNS配置之后野来,由于緩存的原因,會(huì)導(dǎo)致IP變更不及時(shí)踪旷,從而影響負(fù)載均衡的效果曼氛。

另外,使用DNS做負(fù)載均衡的話埃脏,大多是基于地域或者干脆直接做IP輪詢搪锣,沒(méi)有更高級(jí)的路由策略,所以這也是DNS方案的局限所在彩掐。

基于硬件負(fù)載均衡


來(lái)自網(wǎng)絡(luò).png

硬件的負(fù)載均衡那就比較牛逼了,比如大名鼎鼎的 F5 Network Big-IP灰追,也就是我們常說(shuō)的 F5堵幽,它是一個(gè)網(wǎng)絡(luò)設(shè)備,你可以簡(jiǎn)單的理解成類似于網(wǎng)絡(luò)交換機(jī)的東西弹澎,完全通過(guò)硬件來(lái)抗壓力朴下,性能是非常的好,每秒能處理的請(qǐng)求數(shù)達(dá)到百萬(wàn)級(jí)苦蒿,即 幾百萬(wàn)/秒 的負(fù)載殴胧,當(dāng)然價(jià)格也就非常非常貴了,十幾萬(wàn)到上百萬(wàn)人民幣都有佩迟。

因?yàn)檫@類設(shè)備一般用在大型互聯(lián)網(wǎng)公司的流量入口最前端团滥,以及政府、國(guó)企等不缺錢企業(yè)會(huì)去使用报强。一般的中小公司是不舍得用的灸姊。

采用 F5 這類硬件做負(fù)載均衡的話,主要就是省心省事秉溉,買一臺(tái)就搞定力惯,性能強(qiáng)大,一般的業(yè)務(wù)不在話下召嘶。而且在負(fù)載均衡的算法方面還支持很多靈活的策略父晶,同時(shí)還具有一些防火墻等安全功能。但是缺點(diǎn)也很明顯弄跌,一個(gè)字:貴甲喝。

基于軟件負(fù)載均衡


來(lái)自網(wǎng)絡(luò).png

軟件負(fù)載均衡是指使用軟件的方式來(lái)分發(fā)和均衡流量。軟件負(fù)載均衡碟绑,分為7層協(xié)議 和 4層協(xié)議俺猿。

網(wǎng)絡(luò)協(xié)議有七層茎匠,基于第四層傳輸層來(lái)做流量分發(fā)的方案稱為4層負(fù)載均衡,例如 LVS押袍,而基于第七層應(yīng)用層來(lái)做流量分發(fā)的稱為7層負(fù)載均衡诵冒,例如 Nginx。這兩種在性能和靈活性上是有些區(qū)別的谊惭。

基于4層的負(fù)載均衡性能要高一些汽馋,一般能達(dá)到 幾十萬(wàn)/秒 的處理量,而基于7層的負(fù)載均衡處理量一般只在 幾萬(wàn)/秒 圈盔。

基于軟件的負(fù)載均衡的特點(diǎn)也很明顯豹芯,便宜。在正常的服務(wù)器上部署即可驱敲,無(wú)需額外采購(gòu)铁蹈,就是投入一點(diǎn)技術(shù)去優(yōu)化優(yōu)化即可,因此這種方式是互聯(lián)網(wǎng)公司中用得最多的一種方式众眨。

三握牧、常用的均衡算法有哪些?

上面講完了常見(jiàn)的負(fù)載均衡技術(shù)方案娩梨,那么接下來(lái)咱們看一下沿腰,在實(shí)際方案應(yīng)用中,一般可以使用哪些均衡算法狈定?

輪詢策略

負(fù)載度策略

響應(yīng)策略

哈希策略

下面來(lái)分別介紹一下這幾種均衡算法/策略的特點(diǎn):

NO.1—— Random 隨機(jī)
這是最簡(jiǎn)單的一種颂龙,使用隨機(jī)數(shù)來(lái)決定轉(zhuǎn)發(fā)到哪臺(tái)機(jī)器上。

優(yōu)點(diǎn):簡(jiǎn)單使用纽什,不需要額外的配置和算法措嵌。
缺點(diǎn):隨機(jī)數(shù)的特點(diǎn)是在數(shù)據(jù)量大到一定量時(shí)才能保證均衡,所以如果請(qǐng)求量有限的話稿湿,可能會(huì)達(dá)不到均衡負(fù)載的要求铅匹。

NO.2—— Round Robin 輪詢
這個(gè)也很簡(jiǎn)單,請(qǐng)求到達(dá)后饺藤,依次轉(zhuǎn)發(fā)包斑,不偏不向。每個(gè)服務(wù)器的請(qǐng)求數(shù)量很平均涕俗。

缺點(diǎn):當(dāng)集群中服務(wù)器硬件配置不同罗丰、性能差別大時(shí),無(wú)法區(qū)別對(duì)待再姑。引出下面的算法萌抵。

NO.3—— Weighted Round Robin 加權(quán)輪詢
這種算法的出現(xiàn)就是為了解決簡(jiǎn)單輪詢策略中的不足。在實(shí)際項(xiàng)目中,經(jīng)常會(huì)遇到這樣的情況绍填。

比如有5臺(tái)機(jī)器霎桅,兩臺(tái)新買入的性能等各方面都特別好,剩下三臺(tái)老古董讨永。這時(shí)候我們?cè)O(shè)置一個(gè)權(quán)重滔驶,讓新機(jī)器接收更多的請(qǐng)求。物盡其用卿闹、能者多勞嘛揭糕!

這種情況下,“均衡“就比較相對(duì)了锻霎,也沒(méi)必要做到百分百的平均著角。

NO.4—— Least Connections 最少連接
這是最符合負(fù)載均衡算法的一個(gè)。需要記錄每個(gè)應(yīng)用服務(wù)器正在處理的連接數(shù)旋恼,然后將新來(lái)的請(qǐng)求轉(zhuǎn)發(fā)到最少的那臺(tái)上吏口。

NO.5—— Source Hashing 源地址散列
根據(jù)請(qǐng)求的來(lái)源ip進(jìn)行hash計(jì)算,然后對(duì)應(yīng)到一個(gè)服務(wù)器上冰更。之后所有來(lái)自這個(gè)ip的請(qǐng)求都由同一臺(tái)服務(wù)器處理锨侯。

Ref:

https://www.cnblogs.com/saixing/p/6730201.html

https://blog.51cto.com/13732225/2175804

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者冬殃。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市叁怪,隨后出現(xiàn)的幾起案子审葬,更是在濱河造成了極大的恐慌,老刑警劉巖奕谭,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涣觉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡血柳,警方通過(guò)查閱死者的電腦和手機(jī)官册,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)难捌,“玉大人膝宁,你說(shuō)我怎么就攤上這事「酰” “怎么了员淫?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)击敌。 經(jīng)常有香客問(wèn)我介返,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任圣蝎,我火速辦了婚禮刃宵,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘徘公。我一直安慰自己牲证,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布步淹。 她就那樣靜靜地躺著从隆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪缭裆。 梳的紋絲不亂的頭發(fā)上键闺,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音澈驼,去河邊找鬼辛燥。 笑死,一個(gè)胖子當(dāng)著我的面吹牛缝其,可吹牛的內(nèi)容都是我干的挎塌。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼内边,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼榴都!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起漠其,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嘴高,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后和屎,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體拴驮,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年柴信,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了套啤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡随常,死狀恐怖潜沦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情线罕,我是刑警寧澤止潮,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站钞楼,受9級(jí)特大地震影響喇闸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一燃乍、第九天 我趴在偏房一處隱蔽的房頂上張望唆樊。 院中可真熱鬧,春花似錦刻蟹、人聲如沸逗旁。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)片效。三九已至,卻和暖如春英古,著一層夾襖步出監(jiān)牢的瞬間淀衣,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工召调, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留膨桥,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓唠叛,卻偏偏與公主長(zhǎng)得像只嚣,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子艺沼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

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

  • 四層負(fù)載均衡:僅僅建立一次 TCP 連接 七層負(fù)載均衡:負(fù)載均衡器與客戶端及后端的服務(wù)器會(huì)分別建立一個(gè) TCP 連...
    養(yǎng)碼哥閱讀 1,613評(píng)論 0 6
  • 一册舞、什么是負(fù)載均衡? 互聯(lián)網(wǎng)早期障般,業(yè)務(wù)流量比較小并且業(yè)務(wù)邏輯比較簡(jiǎn)單环础,單臺(tái)服務(wù)器便可以滿足基本的需求;但隨著互聯(lián)網(wǎng)...
    彬彬醬閱讀 2,196評(píng)論 0 19
  • 一剩拢、負(fù)載均衡SLB課程綜述 課程介紹: 1、產(chǎn)品介紹: 產(chǎn)品簡(jiǎn)介 產(chǎn)品特點(diǎn) 應(yīng)用場(chǎng)景 2饶唤、概念介紹 產(chǎn)品概念 收費(fèi)...
    拉斯5961閱讀 1,957評(píng)論 0 0
  • 一徐伐、什么是負(fù)載均衡 首先我們先介紹一下什么是負(fù)載均衡:負(fù)載平衡(Load balancing)是一種計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)...
    小流江海閱讀 1,008評(píng)論 0 2
  • 摘要:面對(duì)大量用戶訪問(wèn)、高并發(fā)請(qǐng)求募狂,海量數(shù)據(jù)办素,可以使用高性能的服務(wù)器、大型數(shù)據(jù)庫(kù)祸穷,存儲(chǔ)設(shè)備性穿,高性能Web服務(wù)器,采...
    layjoy閱讀 13,814評(píng)論 3 93