面試必問(wèn):負(fù)載平衡的3種分類(lèi)
基于上述需求,我們要使用統(tǒng)一的流量入口來(lái)對(duì)外提供服務(wù),本質(zhì)上就是需要一個(gè)流量調(diào)度器,通過(guò)均衡的算法,將用戶(hù)大量的請(qǐng)求流量均衡地分發(fā)到集群中不同的服務(wù)器上。這其實(shí)就是我們今天要說(shuō)的負(fù)載均衡。
廣義上的負(fù)載均衡器大概可以分為 3 類(lèi),包括:DNS 方式實(shí)現(xiàn)負(fù)載均衡、硬件負(fù)載均衡、軟件負(fù)載均衡。
一、DNS 實(shí)現(xiàn)負(fù)載均衡
這個(gè)負(fù)載均衡時(shí)通過(guò)DNS來(lái)的,因?yàn)镈NS解析同一個(gè)域名可以返回不同的ip。所以例如哈爾濱的人訪(fǎng)問(wèn)百度就返回距離他近的那個(gè)機(jī)房的IP,海南的人訪(fǎng)問(wèn)百度就返回距離他近的那個(gè)機(jī)房的IP。所以主要是用來(lái)實(shí)現(xiàn)地理級(jí)別的負(fù)載均衡。
DNS 實(shí)現(xiàn)負(fù)載均衡是最基礎(chǔ)簡(jiǎn)單的方式。一個(gè)域名通過(guò) DNS 解析到多個(gè) IP,每個(gè) IP 對(duì)應(yīng)不同的服務(wù)器實(shí)例,這樣就完成了流量的調(diào)度,雖然沒(méi)有使用常規(guī)的負(fù)載均衡器,但實(shí)現(xiàn)了簡(jiǎn)單的負(fù)載均衡功能。
通過(guò) DNS 實(shí)現(xiàn)負(fù)載均衡的方式,最大的優(yōu)點(diǎn)就是實(shí)現(xiàn)簡(jiǎn)單,成本低,無(wú)需自己開(kāi)發(fā)或維護(hù)負(fù)載均衡設(shè)備,不過(guò)存在一些缺點(diǎn):
1、服務(wù)器故障切換延遲大,服務(wù)器升級(jí)不方便。我們知道 DNS 與用戶(hù)之間是層層的緩存,即便是在故障發(fā)生時(shí)及時(shí)通過(guò) DNS 修改或摘除故障服務(wù)器,但中間經(jīng)過(guò)運(yùn)營(yíng)商的 DNS 緩存,且緩存很有可能不遵循 TTL 規(guī)則,導(dǎo)致 DNS 生效時(shí)間變得非常緩慢,有時(shí)候一天后還會(huì)有些許的請(qǐng)求流量。
2、流量調(diào)度不均衡,粒度太粗。DNS 調(diào)度的均衡性,受地區(qū)運(yùn)營(yíng)商 LocalDNS 返回 IP 列表的策略有關(guān)系,有的運(yùn)營(yíng)商并不會(huì)輪詢(xún)返回多個(gè)不同的 IP 地址。另外,某個(gè)運(yùn)營(yíng)商 LocalDNS 背后服務(wù)了多少用戶(hù),這也會(huì)構(gòu)成流量調(diào)度不均的重要因素。
3、流量分配策略太簡(jiǎn)單,支持的算法太少。DNS 一般只支持 rr 的輪詢(xún)方式,流量分配策略比較簡(jiǎn)單,不支持權(quán)重、Hash 等調(diào)度算法。
4、DNS 支持的 IP 列表有限制。我們知道 DNS 使用 UDP 報(bào)文進(jìn)行信息傳遞,每個(gè) UDP 報(bào)文大小受鏈路的 MTU 限制,所以報(bào)文中存儲(chǔ)的 IP 地址數(shù)量也是非常有限的,阿里 DNS 系統(tǒng)針對(duì)同一個(gè)域名支持配置 10 個(gè)不同的 IP 地址。
實(shí)際上生產(chǎn)環(huán)境中很少使用這種方式來(lái)實(shí)現(xiàn)負(fù)載均衡,畢竟缺點(diǎn)很明顯。文中之所以描述 DNS 負(fù)載均衡方式,是為了能夠更清楚地解釋負(fù)載均衡的概念。
像 BAT 體量的公司一般會(huì)利用 DNS 來(lái)實(shí)現(xiàn)地理級(jí)別的全局負(fù)載均衡,實(shí)現(xiàn)就近訪(fǎng)問(wèn),提高訪(fǎng)問(wèn)速度,這種方式一般是入口流量的基礎(chǔ)負(fù)載均衡,下層會(huì)有更專(zhuān)業(yè)的負(fù)載均衡設(shè)備實(shí)現(xiàn)的負(fù)載架構(gòu)。
二、硬件負(fù)載均衡
硬件負(fù)載均衡就是用一個(gè)硬件一個(gè)基礎(chǔ)網(wǎng)絡(luò)設(shè)備,類(lèi)似我們的交換機(jī)啊這樣的硬件,來(lái)實(shí)現(xiàn)負(fù)載均衡。常見(jiàn)的硬件有F5、A10。
這類(lèi)設(shè)備性能強(qiáng)勁、功能強(qiáng)大,但價(jià)格非常昂貴,一般只有土豪公司才會(huì)使用此類(lèi)設(shè)備,中小公司一般負(fù)擔(dān)不起,業(yè)務(wù)量沒(méi)那么大,用這些設(shè)備也是挺浪費(fèi)的。
硬件負(fù)載均衡的優(yōu)點(diǎn):
功能強(qiáng)大:全面支持各層級(jí)的負(fù)載均衡,支持全面的負(fù)載均衡算法。
性能強(qiáng)大:性能遠(yuǎn)超常見(jiàn)的軟件負(fù)載均衡器。
穩(wěn)定性高:商用硬件負(fù)載均衡,經(jīng)過(guò)了良好的嚴(yán)格測(cè)試,經(jīng)過(guò)大規(guī)模使用,穩(wěn)定性高。
安全防護(hù):還具備防火墻、防 DDoS 攻擊等安全功能,以及支持 SNAT 功能。
硬件負(fù)載均衡的缺點(diǎn)也很明顯:
價(jià)格貴;
擴(kuò)展性差,無(wú)法進(jìn)行擴(kuò)展和定制;
調(diào)試和維護(hù)比較麻煩,需要專(zhuān)業(yè)人員。
三、軟件負(fù)載均衡
軟件負(fù)載均衡是最常見(jiàn)的,大小公司都需要用到它。
軟件負(fù)載均衡是通過(guò)負(fù)載均衡功能的軟件來(lái)實(shí)現(xiàn)負(fù)載均衡,常見(jiàn)的軟件有LVS、Nginx、HAProxy。
軟件負(fù)載負(fù)載均衡又分四層和七層負(fù)載均衡,四層負(fù)載均衡就是在網(wǎng)絡(luò)層利用IP地址端口進(jìn)行請(qǐng)求的轉(zhuǎn)發(fā),基本上就是起個(gè)轉(zhuǎn)發(fā)分配作用。而七層負(fù)載均衡就是可以根據(jù)訪(fǎng)問(wèn)用戶(hù)的HTTP請(qǐng)求頭、URL信息將請(qǐng)求轉(zhuǎn)發(fā)到特定的主機(jī)。LVS為四層負(fù)載均衡。Nginx、HAProxy可四可七。
軟件負(fù)載均衡的優(yōu)點(diǎn)在于便宜而且簡(jiǎn)單靈活,就買(mǎi)個(gè)主機(jī),裝下軟件,配置一下就能用了,配置也很簡(jiǎn)單對(duì)于一般小型企業(yè),或者并發(fā)量不高的企業(yè)來(lái)說(shuō)就夠用了。而且在高峰期時(shí)容易擴(kuò)容。
新網(wǎng)負(fù)載平衡雙機(jī)架構(gòu),定時(shí)對(duì)后端服務(wù)進(jìn)行健康檢查,自動(dòng)屏蔽異常實(shí)例,保障業(yè)務(wù)連續(xù)性;更低的產(chǎn)品價(jià)格保障高性?xún)r(jià)比,多達(dá)6種型號(hào)供您選擇,匹配不同的業(yè)務(wù)情景;分鐘級(jí)部署,控制臺(tái)簡(jiǎn)潔易用,僅需幾步就可完成變配續(xù)費(fèi),實(shí)現(xiàn)靈活選擇和輕松管理:http://www.xinnet.com/cs/slb.html
聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)
送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)
需注明出處:新網(wǎng)idc知識(shí)百科