本篇文章帶給大家的內容是介紹負載平衡,了解什麼是負載平衡,負載平衡的優點等等。有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
一、什麼是負載平衡
負載平衡(Load Balance)其意思是分攤到多個操作單元上執行,例如Web伺服器、FTP伺服器、企業關鍵應用伺服器和其它關鍵任務伺服器等,從而共同完成工作任務。
單從字面上的意思來理解就可以解釋N台伺服器平均分擔負載,不會因為某台伺服器負載高宕機而某台伺服器閒置的情況。那麼負載平衡的前提就是要有多台伺服器才能實現,也就是兩台以上。
負載平衡建立在現有網路結構之上,它提供了一種廉價有效透明的方法擴展網路設備和伺服器的頻寬、增加吞吐量、加強網路資料處理能力、提高網路的靈活性和可用性。
二、負載平衡的優點
減少伺服器的壓力,將原本一台伺服器索要承受的訪問量分給多台,並提高專案的可用性,當一台伺服器掛掉的時候不會導致專案癱瘓。
三、四層負載平衡與七層負載平衡
四層負載均衡工作在OSI模型的傳輸層,主要工作是轉發,它在接收到客戶端的流量以後透過修改封包的位址資訊將流量轉發到應用伺服器。
七層負載平衡工作在OSI模型的應用層,因為它需要解析應用層流量,所以七層負載平衡在接到客戶端的流量以後,還需要一個完整的TCP/IP協定棧。七層負載平衡會與客戶端建立完整的連接並將應用層的請求流量解析出來,然後按照調度演算法選擇一個應用伺服器,並與應用伺服器建立另外一個連接將請求發送過去,因此七層負載平衡的主要工作就是代理。 七層負載平衡 也稱為“內容交換”,也就是主要透過封包中的真正有意義的應用層內容,再加上負載平衡設備設定的伺服器選擇方式,決定最終選擇的內部伺服器。
七層負載平衡的優點:這種方式可以對客戶端的請求和伺服器的回應進行任意意義上的修改,極大的提升了應用系統在網路層的靈活性;安全性高。
七層負載平衡,主要還是著重於應用廣泛的HTTP協議,所以其應用範圍主要是眾多的網站或內部資訊平台等基於B/S開發的系統。四層負載平衡則對應其他TCP應用,例如基於C/S開發的ERP等系統。
四、負載平衡的使用軟體
#負載平衡軟體有Nginx、LVS、HaProxy等是目前使用最廣泛的三種負載平衡軟體。
五、負載平衡演算法
1、Round Robin: 對所有的backend輪循發送請求,算是最簡單的方式了,也是預設的分配方式;
2、Least Connections(least_conn): 追蹤和backend目前的活躍連線數目,最少的連線數目說明這個backend負載最輕,將請求分配給他,這種方式會考慮到配置中給每個upstream分配的weight權重資訊;
3、Least Time(least_time): 請求會指派給回應最快且活躍連線數最少的backend;
4 、IP Hash(ip_hash): 對請求來源IP位址計算hash值,IPv4會考慮前3個octet,IPv6會考慮所有的位址位,然後根據得到的hash值透過某種映射分配到backend;
5、Generic Hash(hash): 以使用者自訂資源(例如URL)的方式計算hash值完成分配,其選用consistent關鍵字支援一致性hash特性;
############################################################ #六、基於DNS的負載平衡############通常現代的網路服務者一個網域會關連到多個主機,在進行DNS查詢的時候,預設情況下DNS伺服器會以round -robin形式以不同的順序傳回IP位址列表,因此天然將客戶請求分配到不同的主機上去。不過這種方式含有固有的缺陷:DNS不會檢查主機和IP位址的可存取性,所以分配給客戶端的IP不確保是可用的(Google 404);DNS的解析結果會在客戶端、多個中間DNS伺服器不斷的緩存,所以backend的分配不會那麼的理想。 ######相關影片教學推薦:《###Linux教學###》###
以上就是本篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !
以上是什麼是負載平衡?負載平衡的簡單介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!