概括介紹Lvs負載均衡的基礎知識
lvs的開源特點引來眾多的使用者,而其中的負載均衡的支持功能又是一個強有力的優勢。那么我們現在就來對lvs負載均衡的基礎知識做一個簡要的概括性介紹。之前我們也有細化介紹了相關內容,還希望讀者們能關注我們的專題欄目。
一、lvs負載均衡轉發模式及調度算法
1、負載均衡轉發模式包括直接路由模式DR、網絡地址轉換模式NAT以及隧道模式TUN三種。在一般的互聯網應用環境,選擇直接路由模式是比較有利的,原因有:
(1)DR利用大多數Internet服務的非對稱特點,負載調度器中只負責調度請求,而服務器直接將響應返回給客戶,可以極大地提高整個集群系統的吞吐量-引用自http://www.linuxvirtualserver.org/zh/lvs3.html。從原理上可以知道,DR模式下,負載均衡器的輸出和輸出流量應該是基本一致的,圖1證實了這個事實。
圖1 負載均衡器流量圖
(2)排錯方便迅速。如果通過vip訪問不到服務,則可以直接通過訪問真實服務器的方式直接定位問題的所在。
(3)當負載均衡器都停止工作時,DR模式易于應急處理。通過修改dns的A記錄,把先前主機名對應的vip改成真實服務器的ip地址,使服務迅速恢復起來,從而贏得時間處理負載均衡器的故障。#p#
2、負載均衡器的調度算法
Lvs負載均衡器的調度算法有8種,詳情請訪問http://www.linuxvirtualserver.org/zh/lvs4.html。一般的互聯網應用,多采用輪叫調度rr(Round-RobinScheduling)及加權最小連接調度wlc(WeightedLeast-ConnectionScheduling)。
二、lvs負載均衡環境安全問題
前面我們講過,在負載均衡器上,為了獲得更好的轉發性能,盡量不要使用主機防火墻。那么,這怎樣保證系統的安全呢?個人覺得,還是采購硬件防火墻放在負載均衡器的前面比較可靠。如果資金充裕,購買具備防ddos的硬件防火墻則更勝一籌。
三、同義詞
網上有些詞語有不同的說法,為了便于理解,這里給出相同意義的一些說法。
1、負載均衡器與Director為同義詞。
2、真實服務器realserver與poolserver是同義詞。
3、ip負載均衡技術與負載均衡模式是同義詞。
四、關于負載均衡器后面真實服務器的數量
有人曾經問我:"sina是不是做了負載均衡?是不是一個負載均衡器背后放幾百個服務器?"。理論上,放幾百個服務器沒有問題(章文嵩博士給出的數值是100),技術上也可能實現。但這不是一個好的策略。***的策略可能是:根據訪問情況對大的應用進行分割,弄成一個個小的集群。具體到一個網站,可以把訪問量大的頻道獨立出來,一個頻道或幾個頻道組成一個lvs負載均衡集群。
五、話題討論
近來nginx很受追捧,于是就有人使用了圖2的架構來實現負載均衡。這種3層結構的負載均衡相對于兩層的負載均衡架構,誰優誰劣?歡迎討論。
圖2 三層結構負載均衡