【計網/負載均衡】負載均衡概覽

一. 什麼是負載均衡

負載均衡——load balance,  正如它的名字一般,是把負載給均衡了。通俗地講,就是把原本交給一臺服務器的工作內容,分攤給多臺服務器

通過負載均衡,我們就能擴展我們網絡設備的帶寬,就能增加我們的吞吐量。

(注意帶寬和吞吐量的區別:帶寬是鏈路的屬性吞吐量是網絡設備單位時間內傳輸/接受的數據量, 一般而言我們網絡設備的吞吐量一定是小於我們鏈路的帶寬的)

 

二. 負載均衡分類

負載均衡主要有兩種分類方式:

·根據利用軟件還是硬件來實現負載均衡分

  1.  軟件:在我們的服務器上安裝負載均衡的軟件。常見的有LVS(Linux Virutal System)、Nginx、HAproxy
  2.  硬件:這個看上去比較簡單,沒有什麼是氪金解決不了的,服務器少我們買就是了。

·根據是針對本地還是全局服務器來分

  1.  本地只針對本地範圍的服務器羣,優點是比較方便;比如你要在服務器羣上新增一個服務器,只要在本地添加一臺服務器就行了。
  2.  全局:全局負載均衡主要解決全球用戶只需一個域名或IP地址就能訪問到離自己距離最近的服務器獲得最快的訪問速度,它在多區域都擁有自己的服務器站點。

(很明顯全局負載均衡比本地負載均衡要更加好

 

三. 負載均衡模式

  1.  NAT模式:NAT(Network Address Translation), 網絡地址轉換,通過修改報文的ip,使得私有ip能訪問外網,使得外網的用戶也能訪問內網的私有ip主機。所以我們就可以通過nat軟件(交換機上)來幫我們選擇服務器來實現負載均衡了。
  2. TUN技術:TUN(ip tunning)ip隧道技術。NAT有一個很大的缺點就是客戶端發送給服務器的報文和服務器返回給客戶端的報文都要經過我的負載均衡器,所以我的負載均衡器很容易成爲我們的性能瓶頸。更加重要的是,我們客戶端請求連接的報文大小,肯定是遠遠小於我們服務器返回的報文大小的。因此我們引入了TUN。使用TUN的好處是它只處理我們客戶端發送給我們服務器的請求連接的報文,至於服務器要發送給客戶端的報文,是直接通過我們的internet。所以我們的TUN要求我們的服務器能夠與我們的外部網絡相連。
  3. DR技術:DR技術,即直接路由技術。這是基於TUN技術而生成的一種更加好的技術。考慮到我們建立ip tunnl對於服務器而言也是一個很大的考驗,所以我們乾脆就不建立ip tunnl了。服務器返回給我們用戶的報文再通過一個路由器轉發出去。注意我們自治系統(AS)中的所有服務器都得使用同一個VIP(virtual ip)——你ping到的不是真實地址的原因就在於此。

 

四. 負載均衡算法

  1.  輪詢調度算法(Round Robin,也稱rr):按照輪詢順序分配服務器。
  2. 加權輪詢調度(weight round robin,也稱wrr):所謂的權重就是當前服務器的性能。這使得我們在輪詢的過程中考慮到了服務器的負擔,所以比我們普通的輪詢更加合理。
  3. 最小連接調度(Least Connections,也稱lc):  這裏我們也是考慮了服務器的性能,只不過是按照連接數來定,連接少的服務器自然會優先得到任務。
  4. 加權最少連接調度(Weight Least Connections, 也稱wlc):憑什麼我們需要讓連接少的服務器優先連接?萬一那個連接數最少的服務器性能本身就最差呢?所以我們引入了一個新的權重。這個權重是由管理員給的,我們負載均衡器在判斷的時候還得考慮這個權重。
  5. (To be continued..)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章