1. 程式人生 > >LVS負載均衡簡介

LVS負載均衡簡介

前端 如果 aps 操作 images 不同 接收 聯網 https

一、集群架構

隨著互聯網的發展,服務端請求量越來越大,服務器負載壓力越來越大。另外,如果采用單點服務器對外提供服務,當單點服務器故障時,整個網絡服務將癱瘓。集群架構因此出現,將成千上萬臺服務器有機的集合在一起共同提供服務。

實現方式

基於硬件:

F5的BIG-IP、radware的AppDirector。

基於軟件:

OSI四層的LVS,OSI七層的Nginx,以及HAproxy

集群核心

負載均衡、高可用

二、LVS負載均衡集群

客戶端從外部訪問公司的負載均衡服務器時,客戶端的web請求會根據LVS調度器預設的算法,將該請求轉發給後端的服務器。如果後端服務器連接的是相同的存儲,客戶得到的結果是一樣的,後端服務器根據不同的工作方式將結果反饋給客戶端。

三、LVS工作方式

NAT模式

NAT模式:網絡地址映射,轉換網絡地址。

優點:支持所有操作系統及私有網絡,且只需一個公網 IP 地址

缺點:用戶請求和響應報文都必須經過dr地址重寫,當用戶請求越來越多時,調度器的處理能力將成為瓶頸。

技術分享圖片

原理:

技術分享圖片

1.Director收到用戶的請求後,發現源地址為CIP請求的目標地址為VIP(eth0)
2.Director 會認為這個請求的是一個集群服務,設定好的調度算法將用戶請求負載給某臺Real Server ; Director 會將用戶的請求報文中的目標地址,從原來的VIP改為RealServer的RIP(eth0),然後再轉發給RealServer,
3.RealServer收到一個源地址為CIP目標地址為自己RIP的請求

4.RealServer處理好請求後會將一個源地址為自己RIP目標地址為CIP的數據包通過Director 發出去,
5.Driector Server收到一個源地址為RealServer1 的IP 目標地址為CIP的數據包
6.Driector Server 會將源地址修改為自己的VIP(eth0),然後再將數據包發送給用戶。

DR模式

DR模式:直接路由模式。通過改寫請求報文的MAC地址,將請求發送到 rs,而 rs 將響應直接返回給客戶 ,性能最好。dr只負責處理入站請求,不處理出站請求。

技術分享圖片

原理

技術分享圖片

1.不管是Director Server還是Real Server上都需要配置VIP
2.當用戶請求到達我們的集群網絡的前端路由器的時候,請求數據包的源地址為CIP目標地址為VIP

3.路由器會發廣播問誰是VIP,集群中所有的節點都配置有VIP,此時誰先響應路由器那麽路由器就會將用戶請求發給誰,這樣一來我們的集群系統是不是沒有意義了
4.我們可以在網關路由器上配置靜態路由指定VIP就是Director Server,或者使用一種機制不讓Real Server 接收來自網絡中的ARP地址解析請求(關閉realserver的ARP解析器),這樣一來用戶的請求數據包都會經過Director Servre
5.當Director Server收到用戶的請求後根據此前設定好的調度算法結果來確定將請求負載到某臺Real Server上去
6.Director Server 會將數據幀中的目標MAC地址修改為該Real Server的MAC地址,然後再將數據幀發送出去
7.當Real Server收到一個源地址為CIP目標地址為VIP的數據包時,Real Server發現目標地址為VIP,而VIP是自己,於是接受數據包並給予處理
8.當Real Server處理完請求後,會將一個源地址為VIP目標地址為CIP的數據包發出去,此時的響應請求就不會再經過Director Server了,而是直接響應給用戶

TUN模式

TUN模式:隧道模式,轉發原理類似於DR模式。主要是位於不同位置(不同機房),通過隧道進行了信息傳輸,雖然增加了負載,可是因為地理位置不同的優勢,還是可以參考的一種方案。這種方式需要所有的服務器支持"IP Tunneling"(IP Encapsulation)協議。

技術分享圖片

四、LVS調度算法

RR

輪詢,將所有客戶端的請求,按請求順序依次分配到後端服務器上。

WRR

加權輪詢,對輪詢算法的優化和補充,考慮每臺服務器的性能,為每臺服務器賦一權重值,權重值大的,處理請求越多。比如A服務器權重為1,B服務器權重為2,B服務器處理的請求將是A服務器的2倍。

LC

最小連接調度算法,把客戶端的請求調度到連接最小的服務器上。

WLC

加權最小連接,根據服務器的性能,加一個權重值。

LBLC

局部最小連接,將來自同一個目的地址的請求分配給同一臺RS,此時這臺服務器是尚未滿負荷的。否則就將這個請求分配給連接數最小的RS,並以它作為下一次分配的首先考慮。

LBLCR

帶復制的最小局部連接。

DH

目的地址哈希調度,以目的地址為關鍵字查找一個靜態hash表來獲得需要的RS

SH

源地址哈希調度,以源地址為關鍵字查找一個靜態hash表來獲得需要的RS

LVS負載均衡簡介