免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

什么是負載均衡,原理是什么?

2021-01-27    分類: 網站建設

一、什么是負載均衡

負載均衡(LoadBalance)

其意思就是分攤到多個操作單元上進行執行,例如Web服務器、FTP服務器、企業關鍵應用服務器和其它關鍵任務服務器等,從而共同完成工作任務。


單從字面上的意思來理解就可以解釋N臺服務器平均分擔負載,不會因為某臺服務器負載高宕機而某臺服務器閑置的情況。那么負載均衡的前提就是要有多臺服務器才能實現,也就是兩臺以上即可。


二、負載均衡的優

減少服務器的壓力,將原本一臺服務器索要承受的訪問量分給多臺,并提高項目的可用性,當一臺服務器掛掉的時候不會導致項目癱瘓。


三、四層負載均衡和七層負載均衡

四層負載均衡工作在OSI模型的傳輸層,主要工作是轉發,它在接收到客戶端的流量以后通過修改數據包的地址信息將流量轉發到應用服務器。



七層負載均衡工作在OSI模型的應用層,因為它需要解析應用層流量,所以七層負載均衡在接到客戶端的流量以后,還需要一個完整的TCP/IP協議棧。七層負載均衡會與客戶端建立一條完整的連接并將應用層的請求流量解析出來,再按照調度算法選擇一個應用服務器,并與應用服務器建立另外一條連接將請求發送過去,因此七層負載均衡的主要工作就是代理。 七層負載均衡 也稱為“內容交換”,也就是主要通過報文中的真正有意義的應用層內容,再加上負載均衡設備設置的服務器選擇方式,決定最終選擇的內部服務器。

七層負載均衡的優點:這種方式可以對客戶端的請求和服務器的響應進行任意意義上的修改,極大的提升了應用系統在網絡層的靈活性;安全性高。


七層負載均衡,主要還是著重于應用廣泛的HTTP協議,所以其應用范圍主要是眾多的網站或者內部信息平臺等基于B/S開發的系統。 四層負載均衡則對應其他TCP應用,例如基于C/S開發的ERP等系統。

四、負載均衡的使用軟件

負載均衡軟件有Nginx、LVS、HaProxy等是目前使用最廣泛的三種負載均衡軟件。



四、負載均衡算法

一般來說負載均衡設備都會默認支持多種負載均衡分發策略,例如:

輪詢(RoundRobin)將請求順序循環地發到每個服務器。當其中某個服務器發生故障,AX就把其從順序循環隊列中拿出,不參加下一次的輪詢,直到其恢復正常。

比率(Ratio):給每個服務器分配一個加權值為比例,根椐這個比例,把用戶的請求分配到每個服務器。當其中某個服務器發生故障,AX就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。

優先權(Priority):給所有服務器分組,給每個組定義優先權,將用戶的請求分配給優先級高的服務器組(在同一組內,采用預先設定的輪詢或比率算法,分配用戶的請求);當高優先級中所有服務器或者指定數量的服務器出現故障,AX將把請求送給次優先級的服務器組。這種方式,實際為用戶提供一種熱備份的方式。

最少連接數(LeastConnection):AX會記錄當前每臺服務器或者服務端口上的連接數,新的連接將傳遞給連接數最少的服務器。當其中某個服務器發生故障,AX就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。

最快響應時間(Fast Reponse time):新的連接傳遞給那些響應最快的服務器。當其中某個服務器發生故障,AX就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。

哈希算法( hash): 將客戶端的源地址,端口進行哈希運算,根據運算的結果轉發給一臺服務器進行處理,當其中某個服務器發生故障,就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。

基于數據包的內容分發:例如判斷HTTP的URL,如果URL中帶有.jpg的擴展名,就把數據包轉發到指定的服務器。



五、健康檢查

健康檢查用于檢查服務器開放的各種服務的可用狀態。負載均衡設備一般會配置各種健康檢查方法,例如Ping,TCP,UDP,HTTP,FTP,DNS等。Ping屬于第三層的健康檢查,用于檢查服務器IP的連通性,而TCP/UDP屬于第四層的健康檢查,用于檢查服務端口的UP/DOWN,如果要檢查的更準確,就要用到基于7層的健康檢查,例如創建一個HTTP健康檢查,Get一個頁面回來,并且檢查頁面內容是否包含一個指定的字符串,如果包含,則服務是UP的,如果不包含或者取不回頁面,就認為該服務器的Web服務是不可用(DOWN)的。比如,負載均衡設備檢查到172.16.20.3這臺服務器的80端口是DOWN的,負載均衡設備將不把后面的連接轉發到這臺服務器,而是根據算法將數據包轉發到別的服務器。創建健康檢查時可以設定檢查的間隔時間和嘗試次數,例如設定間隔時間為5秒,嘗試次數為3,那么負載均衡設備每隔5秒發起一次健康檢查,如果檢查失敗,則嘗試3次,如果3次都檢查失敗,則把該服務標記為DOWN,然后服務器仍然會每隔5秒對DOWN的服務器進行檢查,當某個時刻發現該服務器健康檢查又成功了,則把該服務器重新標記為UP。健康檢查的間隔時間和嘗試次數要根據綜合情況來設置,原則是既不會對業務產生影響,又不會對負載均衡設備造成較大負擔。



六、會話保持

如何保證一個用戶的兩次http請求轉發到同一個服務器,這就要求負載均衡設備配置會話保持。

會話保持用于保持會話的連續性和一致性,由于服務器之間很難做到實時同步用戶訪問信息,這就要求把用戶的前后訪問會話保持到一臺服務器上來處理。舉個例子,用戶訪問一個電子商務網站,如果用戶登錄時是由第一臺服務器來處理的,但用戶購買商品的動作卻由第二臺服務器來處理,第二臺服務器由于不知道用戶信息,所以本次購買就不會成功。這種情況就需要會話保持,把用戶的操作都通過第一臺服務器來處理才能成功。當然并不是所有的訪問都需要會話保持,例如服務器提供的是靜態頁面比如網站的新聞頻道,各臺服務器都有相同的內容,這種訪問就不需要會話保持。

絕大多數的負載均衡產品都支持兩類基本的會話保持方式:源/目的地址會話保持和cookie會話保持,另外像hash,URL Persist等也是比較常用的方式,但不是所有設備都支持。基于不同的應用要配置不同的會話保持,否則會引起負載的不均衡甚至訪問異常。我們主要分析B/S結構的會話保持。



七、基于B/S結構的應用:

對于普通B/S結構的應用內容,例如網站的靜態頁面,可以不用配置任何的會話保持,但是對于一個基于B/S結構尤其是中間件平臺的業務系統來說,必須配置會話保持,一般情況下,我們配置源地址會話保持可以滿足需求,但是考慮到客戶端可能有上述不利于源地址會話保持的環境,采用Cookie會話保持是一個更好的方式。Cookie會話保持會把負載均衡設備選擇的Server信息保存在Cookie中發送到客戶端,客戶端持續訪問時,會把該Cookie帶來,負載均衡器通過分析Cookie把會話保持到之前選定的服務器。Cookie分為文件Cookie和內存cookie,文件cookie保存在客戶端計算機硬盤上,只要該cookie文件不過期,則無論是否重復關閉開放瀏覽器都能保持到同一臺服務器。內存Cookie則是把Cookie信息保存在內存中,Cookie的生存時間從打開瀏覽器訪問開始,關閉瀏覽器結束。由于現在的瀏覽器對Cookie都有一定默認的安全設置,有些客戶端可能規定不準使用文件Cookie,所以現在的應用程序開發多使用內存Cookie。

然而,內存Cookie也不是萬能的,比如瀏覽器為了安全可能會完全禁用Cookie,這樣Cookie會話保持就失去了作用。我們可以通過Session-id來實現會話保持,即將session-id作為url參數或者放在隱藏字段<input type="hidden">中,然后分析Session-id進行分發。

另一種方案是:將每一會話信息保存到一個數據庫中。由于這個方案會增加數據庫的負載,所以這個方案對性能的提高并不好。數據庫最好是用來存儲會話時間比較長的會話數據。為了避免數據庫出現單點故障,并且提高其擴展性,數據庫通常會復制到多臺服務器上,通過負載均衡器來分發請求到數據庫服務器上。

基于源/目的地址會話保持其實不太好用,因為客戶可能是通過DHCP,NAT或者Web代理來連接Internet的,其IP地址可能經常變換,這使得這個方案的服務質量無法保障。

NAT(Network Address Translation,網絡地址轉換):當在專用網內部的一些主機本來已經分配到了本地IP地址(即僅在本專用網內使用的專用地址),但現在又想和因特網上的主機通信(并不需要加密)時,可使用NAT方法。這種方法需要在專用網連接到因特網的路由器上安裝NAT軟件。裝有NAT軟件的路由器叫做NAT路由器,它至少有一個有效的外部全球IP地址。這樣,所有使用本地地址的主機在和外界通信時,都要在NAT路由器上將其本地地址轉換成全球IP地址,才能和因特網連接。

網站標題:什么是負載均衡,原理是什么?
文章地址:http://m.newbst.com/news21/97671.html

成都網站建設公司_創新互聯,為您提供App開發商城網站手機網站建設響應式網站移動網站建設外貿網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設