負(fù)載均衡服務(wù)器有哪些
負(fù)載均衡服務(wù)器有哪些
負(fù)載均衡服務(wù)器簡(jiǎn)介
負(fù)載均衡服務(wù)器(load-balancing server)是進(jìn)行負(fù)載分配的服務(wù)器。通過(guò)負(fù)載均衡服務(wù)器,將服務(wù)請(qǐng)求均衡分配到實(shí)際執(zhí)行的服務(wù)中,從而保證整個(gè)系統(tǒng)的響應(yīng)速度。
定義
“負(fù)載均衡服務(wù)器”是本系統(tǒng)的控制服務(wù)器,所有用戶(hù)的請(qǐng)求都首先到此服務(wù)器,然后由此服務(wù)器根據(jù)各個(gè)實(shí)際處理服務(wù)器狀態(tài)將請(qǐng)求具體分配到某個(gè)實(shí)際處理服務(wù)器中,對(duì)外公開(kāi)的域名與IP地址都是這臺(tái)服務(wù)器。負(fù)載均衡控制與管理軟件安裝在這臺(tái)服務(wù)器上,這臺(tái)服務(wù)器一般只做負(fù)載均衡任務(wù)分配,但不是實(shí)際對(duì)網(wǎng)絡(luò)請(qǐng)求進(jìn)行處理的服務(wù)器。
負(fù)載均衡服務(wù)器類(lèi)型
網(wǎng)絡(luò)負(fù)載均衡服務(wù)器
WEB負(fù)載均衡服務(wù)器
負(fù)載均衡服務(wù)器解析
負(fù)載均衡是一個(gè)很大的話(huà)題,也是一個(gè)很小的話(huà)題,小到一個(gè)基本理念,你必須通過(guò)負(fù)載均衡提供多點(diǎn)服務(wù)。在架構(gòu)搭建的最初最初階段,就應(yīng)該實(shí)施非單點(diǎn)服務(wù)的架構(gòu)體系,這樣才可以確保業(yè)務(wù)不被故障中斷。
最簡(jiǎn)單的負(fù)載均衡架構(gòu)如下架構(gòu)示例圖:
雖然這個(gè)架構(gòu)圖非常簡(jiǎn)陋,但是的確利用DNS服務(wù)器做了負(fù)載均衡,多數(shù)大型網(wǎng)站都是混合式的負(fù)載均衡方案,基本都不會(huì)少了DNS的負(fù)載均衡。可以使用dig命令看看qq.com和baidu.com,其中baidu.com有4條A記錄,也就是通過(guò)DNS做了4個(gè)分支的負(fù)載均衡。
圖中還存在單點(diǎn)服務(wù)的地方,譬如共享文件系統(tǒng)的服務(wù)器端只在”web應(yīng)用1“存在,不過(guò)意義非常大。
在應(yīng)用系統(tǒng)搭建初期就規(guī)劃好共享文件的存儲(chǔ)路徑,為將來(lái)的擴(kuò)展提供便利,也給代碼編寫(xiě)提供了參考標(biāo)準(zhǔn),避免后期再做調(diào)整。如果是租用云服務(wù)器提供商的服務(wù)器,將來(lái)直接使用對(duì)象存儲(chǔ)服務(wù)、CDN都比較容易。
雙備份的數(shù)據(jù)庫(kù)體系,架構(gòu)簡(jiǎn)單易維護(hù),但可以在故障發(fā)生的時(shí)候最大程度保護(hù)數(shù)據(jù)。
雙備份的web應(yīng)用,可以給前線業(yè)務(wù)提供高保障的應(yīng)用系統(tǒng),發(fā)布新版本的時(shí)候,還可以很方便的把其中一臺(tái)作為預(yù)發(fā)布環(huán)境,新版本內(nèi)容發(fā)布和驗(yàn)證完畢后再更新另外一臺(tái)應(yīng)用,起碼保證了50%的業(yè)務(wù)正常運(yùn)行。
配置簡(jiǎn)單,管理簡(jiǎn)單
當(dāng)然,這僅僅只適用于時(shí)效要求低、缺少管理人員的創(chuàng)業(yè)型min公司。
利用負(fù)載均衡應(yīng)用來(lái)搭建負(fù)載均衡架構(gòu)
如圖:
雖然上圖依然非常簡(jiǎn)單,不過(guò)也是需要不少的基礎(chǔ)知識(shí)做支撐的,下面分別整理和學(xué)習(xí),便于將來(lái)搭建系統(tǒng)的時(shí)候使用。
負(fù)載均衡服務(wù)的實(shí)現(xiàn)方式
DNS負(fù)載均衡
基于DNS的負(fù)載均衡方案是最容易實(shí)施的,而且通常你也不用去管DNS服務(wù)器的性能和可用性,它的屬主會(huì)關(guān)心這些問(wèn)題。但是通常DNS服務(wù)器只是通過(guò)RR算法來(lái)均衡調(diào)度,因此,用戶(hù)的在線信息需要管理好,也就是session數(shù)據(jù)需要在所有服務(wù)器間進(jìn)行共享,不然用戶(hù)的登陸狀態(tài)會(huì)丟失。
反向代理負(fù)載均衡
基于反向代理服務(wù)器實(shí)施負(fù)載均衡應(yīng)該是應(yīng)用得最多的方式,反向代理服務(wù)工作在7層,通過(guò)轉(zhuǎn)發(fā)http請(qǐng)求提供服務(wù)。目前幾乎所有web容器都支持反向代理服務(wù),如nginx。nginx可以根據(jù)實(shí)際需要定義負(fù)載均衡調(diào)度算法,權(quán)重,健康狀態(tài)檢測(cè)等參數(shù)。
默認(rèn)情況下,nginx使用 round-robin 調(diào)度算法,并有健康狀態(tài)檢查和恢復(fù)主機(jī)的能力,另外還支持ip_hash,least_conn,sticky,不過(guò)有的需要安裝額外的組件。
Http重定向負(fù)載均衡
http重定向方案可以說(shuō)最個(gè)性化的負(fù)載均衡方案,因?yàn)閹缀跏谴a級(jí)的工作,不同于反向代理,反向代理是轉(zhuǎn)發(fā)http請(qǐng)求,而http重定向是web服務(wù)告訴用戶(hù)的瀏覽器去訪問(wèn)另外一個(gè)url,可能是根據(jù)IP地址找到了更好的服務(wù)器,或者其他策略。例如從鏡像下載文件,中國(guó)區(qū)用戶(hù)可能會(huì)重定向到一個(gè)中國(guó)區(qū)的服務(wù)器上進(jìn)行下載。這都是通過(guò)http協(xié)議中指定Location屬性來(lái)實(shí)現(xiàn)的。
NAT負(fù)載均衡
也叫IP負(fù)載均衡,工作在7層網(wǎng)絡(luò)結(jié)構(gòu)里的第四層,通過(guò)對(duì)數(shù)據(jù)包中的IP地址和端口信息進(jìn)行修改,從而打到負(fù)載均衡的效果。因?yàn)樯婕暗闹R(shí)比較深,而且我也沒(méi)有實(shí)踐過(guò),所以不深入寫(xiě)了。
在《構(gòu)建高性能Web站點(diǎn)》一書(shū)中,還提到兩種更高性能的方案,即直接路由、IP隧道,因?yàn)楣ぷ鞯酶讓痈咏?a href="http://m.xsypw.cn/v/tag/1751/" target="_blank">硬件,所以性能會(huì)比上面的方式更高。
混合型負(fù)載均衡
在有些大型網(wǎng)絡(luò),由于多個(gè)服務(wù)器群內(nèi)硬件設(shè)備、各自的規(guī)模、提供的服務(wù)等的差異,可以考慮給每個(gè)服務(wù)器群采用最合適的負(fù)載均衡方式,然后又在這多個(gè)服務(wù)器群間再一次負(fù)載均衡或群集起來(lái)以一個(gè)整體向外界提供服務(wù)(即把這多個(gè)服務(wù)器群當(dāng)做一個(gè)新的服務(wù)器群),從而達(dá)到最佳的性能。
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [電子說(shuō)] 負(fù)載均衡服務(wù)器攻擊怎么解決最有效? 2024-10-24
( 發(fā)表人:彭菁 )