廣州總校區(qū)切換校區(qū)
復(fù)制成功
微信號(hào):togogoi
添加微信好友, 詳細(xì)了解課程
已復(fù)制成功,如果自動(dòng)跳轉(zhuǎn)微信失敗,請(qǐng)前往微信添加好友
打開微信
圖片

行業(yè)新聞

什么是負(fù)載均衡高可用

發(fā)布時(shí)間: 2022-03-28

什么是負(fù)載均衡高可用?在解釋這個(gè)專業(yè)術(shù)語之前,我們需要先弄明白一個(gè)小問題,為什么需要負(fù)載均衡(Load Balancing)?

這里以一個(gè)示例來說明,假如我們有一個(gè)金融資訊類的網(wǎng)站,只允許100個(gè)用戶同時(shí)在線訪問。網(wǎng)站上線初期,由于知名度較小,加上沒有宣傳,只有幾個(gè)用戶經(jīng)常上線;后期知名度上去了,宣傳也上去了,百度和谷歌也收錄了我們的網(wǎng)站,這時(shí),同時(shí)在線的用戶數(shù)量直線上升,甚至?xí)_(dá)到上千人;于是,網(wǎng)站變得異常繁忙,經(jīng)常會(huì)反應(yīng)不過來,這個(gè)時(shí)候用戶勢必會(huì)埋怨,為了不影響客戶對(duì)我們的信心,一定要想辦法解決這個(gè)問題。




試想,如果有幾臺(tái)或幾十臺(tái)相同配置的機(jī)器,前端放一個(gè)轉(zhuǎn)發(fā)器,輪流轉(zhuǎn)發(fā)客戶對(duì)網(wǎng)站的請(qǐng)求,每臺(tái)機(jī)器都將用戶數(shù)控制在100之內(nèi),那么網(wǎng)站的反應(yīng)速度就會(huì)大大增快;即使其中的某臺(tái)服務(wù)器因?yàn)橛布收襄礄C(jī)了,也不會(huì)影響用戶的訪問。其中,這個(gè)神奇的轉(zhuǎn)發(fā)器就是負(fù)載均衡器,英文名叫Director。

那么什么是負(fù)載均衡呢?負(fù)載均衡建立在現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價(jià)、有效、透明的方法來擴(kuò)展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬,增加了吞吐量,加強(qiáng)了網(wǎng)絡(luò)數(shù)據(jù)處理能力,提高了網(wǎng)絡(luò)的靈活性和可用性?我們通過負(fù)載均衡器,可以實(shí)現(xiàn)N臺(tái)廉價(jià)的PC服務(wù)器并行處理,使其計(jì)算能力達(dá)到小型機(jī)或大型機(jī)的水平,這也是目前負(fù)載均衡如此流行的主要原因。

高可用(High Availability,HA)其實(shí)有兩種不同的含義,從廣義上說,是指整個(gè)系統(tǒng)的高可用(High Availability)性;從狹義上說,一般是指主機(jī)的冗余接管,如主機(jī)HA。如無特殊說明,本書中的HA都是指廣義的高可用性。

廣義的高可用性是指能夠保證整個(gè)系統(tǒng)不會(huì)因?yàn)槟骋慌_(tái)主機(jī)崩潰或故障損壞而發(fā)生停止服務(wù)的現(xiàn)象;狹義的就是我們前面提到的主機(jī)的冗余接管,下面我們可以從最前端的負(fù)載均衡器談起了。

單臺(tái)負(fù)載均衡器位于網(wǎng)站的最前端,它起著對(duì)客戶的請(qǐng)求進(jìn)行分流的作用,相當(dāng)于整個(gè)網(wǎng)站或系統(tǒng)的入口,如果它不幸崩潰(Crash)了,整個(gè)網(wǎng)站也會(huì)掛掉,所以這個(gè)時(shí)候要求有一種方案,能在短時(shí)間(這個(gè)時(shí)間一般要求小于1秒)內(nèi)將崩潰的負(fù)載均衡器接管過去,這就稱為高可用。這個(gè)時(shí)間非常短,客戶完全不會(huì)察覺到其中的一臺(tái)機(jī)器已經(jīng)發(fā)生了崩潰的情況。至于負(fù)載均衡器后端的Web集群、數(shù)據(jù)庫集群,因?yàn)橛胸?fù)載均衡器的內(nèi)部機(jī)制,即使是其中的某一臺(tái)或兩臺(tái)發(fā)生問題,也不會(huì)影響整套系統(tǒng)的使用,這種意義上的高可用就是廣義上的。

現(xiàn)在我們俗稱的Linux集群(Cluster),指的就是大范圍內(nèi)的整套系統(tǒng)架構(gòu),相對(duì)于負(fù)載均衡器后端的Web集群、Resin集群或MySQL集群來說,它的涵蓋面要廣得多,包括負(fù)載均衡和高可用。這里為了便于區(qū)別,在提到集群時(shí)一般會(huì)帶上前綴,比方說Web集群,指的就是后端提供相同服務(wù)的Web機(jī)器群;如果是Linux集群,指的就是大范圍的系統(tǒng)集群架構(gòu),希望大家不要混淆。

目前,線上環(huán)境中應(yīng)用得比較多的負(fù)載均衡器硬件有F5 BIG-IP和CitrixNetScaler,軟件有LVS、Nginx及HAProxy,高可用軟件有Heartbeat、Keepalived,成熟的Linux集群架構(gòu)有DNS輪詢、LVS+Keepalived、Nginx/HAProxy+Keepalived及DRBD+Heartbeat,建議大家還可以關(guān)注下AWS的Elastic Load Balancing。

上一篇: 百萬級(jí)PV高可用網(wǎng)站架構(gòu)設(shè)計(jì)

下一篇: 數(shù)據(jù)庫分區(qū)表是什么

<
在線咨詢 ×

您好,請(qǐng)問有什么可以幫您?我們將竭誠提供最優(yōu)質(zhì)服務(wù)!