Lvs+keepalived集羣的實現

集羣實現的意義:

在各類網絡服務廣泛應用的今天,隨網絡速度的提升以及用戶的增長,在一些繁忙的場合,單憑一臺機器已經沒法就能應付全部的網絡請求了。爲了解決這個問題,許多用戶就採用一組cluster(集羣)來代替單一的機器。cluster能夠將多臺計算機鏈接起來協同運做以對外提供各類服務,好比Apache、FTP、Mail等。前端

1. LVS的結構

  LVS方式的cluster從結構上可分爲兩部分:前端的負載均衡器(稱之爲director)和後端的真實服務器(稱之爲real server)。cluster前端的director未來自外界的請求調度到cluster後端不一樣的real server去執行。real server負責真正的提供各類應用服務,好比:Web、FTP、Mail等服務。real server的數量能夠根據實際需求進行增長、減小。算法

2. LVS的三種包轉發方式

  LVS提供了三種包轉發方式:NAT(網絡地址映射)、IP Tunneling(IP隧道)、Direct Routing(直接路由)。不一樣的轉發模式決定了不一樣的cluster的網絡結構,下面對三種轉發方式分別介始:後端

NAT(網絡地址映射)

  NAT方式可支持任何的操做系統,以及私有網絡,而且只需一個Internet IP地址,可是整個系統的性能受到限制。由於執行NAT每次須要重寫包,有必定的延遲;另外,大部分應用有80%的數據是從服務器流向客戶機,也就是用戶的請求很是短,而服務器的迴應很是大,對負載均衡器造成很大壓力,成爲了新的瓶頸。服務器

lvsnat

IP Tunneling(IP隧道)

  director分配請求到不一樣的real server。real server處理請求後直接回應給用戶,這樣director負載均衡器僅處理客戶機與服務器的一半鏈接。IP Tunneling技術極大地提升了director的調度處理能力,同時也極大地提升了系統能容納的最大節點數,能夠超過100個節點。real server能夠在任何LAN或WAN上運行,這意味着容許地理上的分佈,這在災難恢復中有重要意義。服務器必須擁有正式的IP地址用於與客戶機直接通訊,而且全部服務器必須支持IP隧道協議。網絡

Direct Routing(直接路由)

  與IP Tunneling相似,負載均衡器僅處理一半的鏈接,避免了新的性能瓶頸,一樣增長了系統的可伸縮性。Direct Routing與IP Tunneling相比,沒有IP封裝的開銷,但因爲採用物理層(修改MAC地址)技術,全部服務器都必須在一個物理網段。負載均衡

3. LVS的八種調度算法

  LVS已實現瞭如下八種調度算法:性能

  • 輪叫調度(Round-Robin Scheduling)
  • 加權輪叫調度(Weighted Round-Robin Scheduling)
  • 最小鏈接調度(Least-Connection Scheduling)
  • 加權最小鏈接調度(Weighted Least-Connection Scheduling)
  • 基於局部性的最少連接(Locality-Based Least Connections Scheduling)
  • 帶複製的基於局部性最少連接(Locality-Based Least Connections with Replication Scheduling)
  • 目標地址散列調度(Destination Hashing Scheduling)
  • 源地址散列調度(Source Hashing Scheduling)
相關文章
相關標籤/搜索