一、負(fù)載均衡(Load Balance)
負(fù)載均衡建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價有效透明的方法擴(kuò)展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。
負(fù)載均衡,其意思就是分?jǐn)偟蕉鄠€操作單元上進(jìn)行執(zhí)行,例如 Web 服務(wù)器、FTP 服務(wù)器、企業(yè)關(guān)鍵應(yīng)用服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器等,從而共同完成工作任務(wù)。
二、軟負(fù)載均衡
軟件負(fù)載均衡則是通過在服務(wù)器上安裝的特定的負(fù)載均衡軟件或是自帶負(fù)載均衡模塊完成對請求的分配派發(fā)。常用的負(fù)載均衡策略:
1??輪詢
非常經(jīng)典的負(fù)載均衡策略,早期該策略應(yīng)用非常廣泛。其原理很簡單,給每個請求標(biāo)記一個序號,然后將請求依次派發(fā)到服務(wù)器節(jié)點(diǎn)中,適用于集群中各個節(jié)點(diǎn)提供服務(wù)能力等同且無狀態(tài)的場景。其缺點(diǎn)也非常明顯,該策略將節(jié)點(diǎn)視為等同,與實(shí)際中復(fù)雜的環(huán)境不符。加權(quán)輪詢?yōu)檩喸兊囊粋€改進(jìn)策略,每個節(jié)點(diǎn)會有權(quán)重屬性,但是因?yàn)闄?quán)重的設(shè)置難以做到隨實(shí)際情況變化,仍有一定的不足。
2??隨機(jī)
與輪詢相似,只是不需要對每個請求進(jìn)行編號,每次隨機(jī)取一個。同樣地,該策略也將后端的每個節(jié)點(diǎn)視為等同的。同樣也有改進(jìn)的加權(quán)隨機(jī)的算法。
3??最小響應(yīng)時間
通過記錄每次請求所需的時間,得出平均的響應(yīng)時間,然后選擇最小的響應(yīng)時間。該策略能較好地反應(yīng)服務(wù)器的狀態(tài),但是由于是平均響應(yīng)時間的關(guān)系,時間上有些滯后,無法滿足快速響應(yīng)的要求。因此在此基礎(chǔ)之上,會有一些改進(jìn)版本的策略,如只計(jì)算最近若干次的平均時間的策略等。
4??最小并發(fā)數(shù)
客戶端的每一次請求在服務(wù)器停留的時間可能會有較大的差異,隨著工作時間加長,如果采用簡單的輪詢或隨機(jī)均衡算法,每一臺服務(wù)器上的連接進(jìn)程可能會產(chǎn)生較大的不同,并沒有達(dá)到真正的負(fù)載均衡。最小并發(fā)數(shù)的策略則是記錄了當(dāng)前時刻,每個備選節(jié)點(diǎn)正在處理的事務(wù)數(shù),然后選擇并發(fā)數(shù)最小的節(jié)點(diǎn)。該策略能夠快速地反應(yīng)服務(wù)器的當(dāng)前狀況,較為合理地將負(fù)責(zé)分配均勻,適用于對當(dāng)前系統(tǒng)負(fù)載較為敏感的場景。
三、F5負(fù)載均衡
F5 負(fù)載均衡是硬件負(fù)載均衡的一種。硬件負(fù)載均衡,顧名思義,在服務(wù)器節(jié)點(diǎn)之間安裝專門的硬件進(jìn)行負(fù)載均衡的工作。
F5 是負(fù)載均衡產(chǎn)品的一個品牌,其地位類似于原來諾基亞在手機(jī)品牌中的位置。除了 F5 以外,Radware、Array、A10、Cisco、深信服和華夏創(chuàng)新都是負(fù)載均衡的牌子,因?yàn)?F5 在這類產(chǎn)品中影響最大,所以經(jīng)常說 F5 負(fù)載均衡。