天天看點

淺談大型網站之負載均衡架構

負載均衡,英文名稱為Load Balance,其意思就是分攤到多個操作單元上進行執行,例如Web伺服器、FTP伺服器、企業關鍵應用伺服器和其它關鍵任務伺服器等,進而共同完成工作任務。

負載均衡建立在現有網絡結構之上,它提供了一種廉價有效透明的方法擴充網絡裝置和伺服器的帶寬、增加吞吐量、加強網絡資料處理能力、提高網絡的靈活性和可用性。

分類

一般有以下3種類型的負載均衡架構

1、鍊路負載均衡

鍊路負載均衡就是一般講的DNS輪循負載均衡,負載均衡是由DNS動态解析成不同的IP完成的,在DNS中為多個位址配置同一個名字,因而查詢這個名字的客戶機将得到其中一個位址,進而使得不同的客戶通路不同的伺服器,達到負載均衡的目的。

DNS負載均衡雖然是一種簡單而有效的方法,但是它不能區分伺服器的差異,也不能反映伺服器的目前運作狀态,如果某一台伺服器挂掉了,即這個域名不能被通路,整個網站也就癱瘓了,後果是可想而知的。

2、叢集負載均衡

叢集負載均衡是目前比較廣泛使用的負載均衡方式,主要分為硬體層和軟體層的負載均衡。

硬體負載均衡就是像F5這樣的負載均衡裝置,通過負載均衡硬體裝置來分發使用者的請求。硬體負載均衡性能特别好,但同時價格也非常昂貴,一般小公司用不起的,還有硬體負載均衡也不能動态擴容,當然這不夠成問題。

淺談大型網站之負載均衡架構
軟體負載均衡就是現在使用最多較為普遍的一種負載均衡方式,主要就是軟體成本相對硬體來說成本比較低,直接購買普通的伺服器就能搭建軟體負載均衡,但如果軟體負載均衡需要經過的代理伺服器比較多也會帶來網絡延遲等問題。常見的軟體負載均衡包括工作在TCP第四層的LVS,即在網絡層進行IP位址分發,然後還有工作在TCP第7層的HaProxy、Nginx等根據使用者通路資訊(如:域名、Cookie等資訊)分發到不同的伺服器。
淺談大型網站之負載均衡架構

3、作業系統負載均衡

作業系統負載均衡就是通過利用作業系統級别的軟中斷和硬中斷來達到負載均衡,比如可以設定多隊列的網卡來實作等,這種負載均衡一般不會用到。

這幾種負載均衡方式在CDN、分布式WEB服務、分布式資料叢集中都能用到。

繼續閱讀