你應(yīng)知道的負(fù)載均衡技術(shù)
都說風(fēng)云瞬息萬變,在網(wǎng)絡(luò)上也是分秒不同。同樣的告訴流通帶來的未知也是我們不可掌握的。每一分每一秒,都有很多的用戶瀏覽同意服務(wù)器所支持的網(wǎng)站。那么對(duì)于這個(gè)動(dòng)態(tài)的,變化著的網(wǎng)絡(luò)問題我們就要用到負(fù)載均衡技術(shù)進(jìn)行協(xié)調(diào)分配。
負(fù)載均衡技術(shù)
顯然,單臺(tái)服務(wù)器有限的性能不可能解決這個(gè)問題,一臺(tái)普通服務(wù)器的處理能力只能達(dá)到每秒幾萬個(gè)到幾十萬個(gè)請(qǐng)求,無法在一秒鐘內(nèi)處理上百萬個(gè)甚至更多的請(qǐng)求。但若能將10臺(tái)這樣的服務(wù)器組成一個(gè)系統(tǒng),并通過軟件技術(shù)將所有請(qǐng)求平均分配給所有服務(wù)器,那么這個(gè)系統(tǒng)就完全擁有每秒鐘處理幾百萬個(gè)甚至更多請(qǐng)求的能力。這就是負(fù)載均衡最初的基本設(shè)計(jì)思想。
最早的負(fù)載均衡技術(shù)是通過DNS來實(shí)現(xiàn)的,在DNS中為多個(gè)地址配置同一個(gè)名字,因而查詢這個(gè)名字的客戶機(jī)將得到其中一個(gè)地址,從而使得不同的客戶訪問不同的服務(wù)器,達(dá)到負(fù)載均衡的目的。DNS負(fù)載均衡是一種簡(jiǎn)單而有效的方法,但是它不能區(qū)分服務(wù)器的差異,也不能反映服務(wù)器的當(dāng)前運(yùn)行狀態(tài)。
其實(shí),這種負(fù)載均衡的基本設(shè)計(jì)思想只能算是負(fù)載均衡技術(shù)的最初應(yīng)用。現(xiàn)代負(fù)載均衡技術(shù)除了可以做到合理、平均、實(shí)時(shí)地均衡系統(tǒng)負(fù)載外,還能夠確保系統(tǒng)正常運(yùn)行的高可用性和高可靠性。
負(fù)載均衡服務(wù)能夠平衡服務(wù)器群中所有的服務(wù)器和應(yīng)用之間的通信負(fù)載,根據(jù)實(shí)時(shí)響應(yīng)時(shí)間進(jìn)行判斷,將任務(wù)交由負(fù)載最輕的服務(wù)器來處理,以實(shí)現(xiàn)真正的智能通信管理和***的服務(wù)器群性能。
假設(shè)每個(gè)服務(wù)器能響應(yīng)的請(qǐng)求為每秒10萬個(gè)。如果不采用負(fù)載均衡,那么該系統(tǒng)就只能達(dá)到每秒10萬個(gè)的響應(yīng),即使采用三臺(tái)服務(wù)器,也有可能在不到每秒30萬個(gè)響應(yīng)的時(shí)候就會(huì)出現(xiàn)某臺(tái)服務(wù)器由于訪問量過大而宕機(jī);如果某臺(tái)服務(wù)器出現(xiàn)故障,則可能導(dǎo)致數(shù)萬個(gè)請(qǐng)求不能得到正確的響應(yīng)。但如果采用負(fù)載均衡,不僅當(dāng)服務(wù)器出現(xiàn)故障時(shí)可以自動(dòng)將指向該服務(wù)器上的響應(yīng)分擔(dān)到其他服務(wù)器,還可以在數(shù)據(jù)量不太大時(shí)也將任務(wù)分配到各個(gè)服務(wù)器中,避免出現(xiàn)有些服務(wù)器數(shù)據(jù)量很小而有的已因數(shù)據(jù)量接近極限導(dǎo)致性能急劇下降的現(xiàn)象。如果數(shù)據(jù)量超出了服務(wù)器的響應(yīng)能力,只需增加服務(wù)器數(shù)目就可以平滑升級(jí)。也就是說,負(fù)載均衡技術(shù)不僅可以維持網(wǎng)絡(luò)系統(tǒng)中負(fù)載的均衡分配,還能夠維護(hù)網(wǎng)絡(luò)系統(tǒng)的高可用性運(yùn)行,因而是保證網(wǎng)絡(luò)系統(tǒng)高性能的重要技術(shù)。
現(xiàn)代負(fù)載均衡技術(shù)通常操作于網(wǎng)絡(luò)的第四層或第七層。負(fù)載均衡器可以根據(jù)實(shí)際的響應(yīng)時(shí)間制定優(yōu)先級(jí)交付決策,從而實(shí)現(xiàn)高性能、智能化流量管理,達(dá)到***的服務(wù)器群性能。采用第七層應(yīng)用控制還可以減少通信高峰期的錯(cuò)誤訊息,因?yàn)椴铄e(cuò)控制和流量管理技術(shù)可以偵測(cè)到一些錯(cuò)誤信息并透明地將會(huì)話重定向到另一個(gè)服務(wù)器,使用戶順利地進(jìn)行使用。例如,服務(wù)器A不可用或者數(shù)據(jù)庫出現(xiàn)錯(cuò)誤,錯(cuò)誤信息將會(huì)返回到負(fù)載均衡器上,然后會(huì)將客戶的訪問指向服務(wù)器B或者將消息重放到其他數(shù)據(jù)庫中去,整個(gè)過程對(duì)用戶是透明的。
由于采用了負(fù)載均衡技術(shù),自動(dòng)故障恢復(fù)得以實(shí)現(xiàn),服務(wù)的時(shí)間可以延長(zhǎng),24×7可靠性和持續(xù)運(yùn)行成為可能。另外,負(fù)載均衡器一般也支持路徑外返回模式,即繞過流量分配器,為那些焦急等待大量數(shù)據(jù)文件請(qǐng)求響應(yīng)的客戶提供更快的響應(yīng)時(shí)間。
在***的負(fù)載均衡產(chǎn)品中,智能化越來越明顯。一些智能化的負(fù)載均衡器能夠偵測(cè)到像數(shù)據(jù)庫錯(cuò)誤、服務(wù)器不可用等信息,從而采取措施使會(huì)話恢復(fù)和重定向服務(wù)器使電子商務(wù)能夠得以順利進(jìn)行。多址負(fù)載均衡器可以對(duì)客戶發(fā)來的訪問請(qǐng)求進(jìn)行解析,計(jì)算出***地址,然后將該地址返回客戶,使客戶自動(dòng)連接到對(duì)其請(qǐng)求來說***的數(shù)據(jù)中心。
緩存技術(shù)
負(fù)載均衡技術(shù)解決了出現(xiàn)大流量數(shù)據(jù)時(shí)服務(wù)器的智能化分配,但統(tǒng)計(jì)發(fā)現(xiàn),在網(wǎng)絡(luò)應(yīng)用的需求中存在著許多冗余的內(nèi)容,這些重復(fù)的需求占用了大量的網(wǎng)絡(luò)資源。具體地說,在互聯(lián)網(wǎng)上80%的用戶都在訪問20%的熱門網(wǎng)站,而在這些熱門網(wǎng)站中又有一些熱門的內(nèi)容吸引了絕大多數(shù)訪問者的注意;對(duì)于企業(yè)局域網(wǎng)而言,員工所發(fā)出的網(wǎng)絡(luò)指令也存在著很大的重復(fù)。以上的情況造成了計(jì)算機(jī)執(zhí)行的指令具有很高的重復(fù)性,這是僅用負(fù)載均衡技術(shù)不能解決的。
對(duì)于緩存技術(shù)我們?cè)谶@里就不展開來說了,那么未來,緩存和負(fù)載均衡技術(shù)的結(jié)合也是必然的一種趨勢(shì)。如何有效將兩個(gè)技術(shù)相互使用,這個(gè)問題還值得我們繼續(xù)思考。