伺服器負載過高的處理方式

香港cn2發表於2022-06-01

網際網路早期,業務流量比較小,業務邏輯比較簡單,單臺伺服器就可以滿足基本需求; 但是隨著網際網路的發展,業務流量越來越大,業務邏輯越來越複雜,單臺伺服器的效能也越來越複雜。 . 突出顯示需要跨多臺機器橫向擴充套件效能的問題和單點故障,並避免單點故障。 但是如何將不同使用者的流量分配到不同的伺服器上呢?

較早的方法是使用 DNS 作為有效負載,透過為客戶端解析不同的 IP 地址,允許客戶端流量直接到達每個伺服器。 然而,這種方法的一個很大的缺點是延遲問題。 排程策略改變後,各級DNS節點的快取不會及時在客戶端生效,DNS負載排程策略相對簡單。 無法滿足業務需求,發生負載均衡。 客戶端的流量會首先到達負載均衡伺服器,負載均衡伺服器透過一定的排程演算法將流量分配給不同的應用伺服器。 同時,負載均衡伺服器也會對應用伺服器進行週期性的健康檢查。 當發現故障節點時,可以將該節點從應用伺服器叢集中動態移除,以保證應用的高可用性。

負載均衡又分為四層負載均衡和七層負載均衡。 四層負載均衡工作在OSI模型的傳輸層,主要工作是轉發。 客戶端收到流量後,透過修改資料包的地址資訊,將流量轉發給應用伺服器。TG:Sp_server

七層負載均衡工作在 OSI 模型的應用層。 因為需要解析應用層流量,所以七層負載均衡在接收到客戶端的流量後需要一個完整的TCP/IP協議棧。 七層負載均衡會與客戶端建立完整的連線並解析應用層的請求流量,然後根據排程演算法選擇一個應用伺服器,與應用伺服器建立另一個連線傳送請求。 因此,第 7 層負載均衡的主要工作就是充當代理。

3-IP 負載平衡 (SNAT)

IP負載均衡:透過修改請求目標地址實現網路層負載均衡。

使用者請求資料包到達負載均衡伺服器後,負載均衡伺服器在作業系統核心中獲取網路資料包,根據負載均衡演算法計算出真實的web伺服器地址,然後修改資料的IP地址 資料包到真實的 Web 伺服器地址。 使用者程式處理。 真實WEB伺服器處理完畢後,將相應的資料包返回給負載均衡伺服器,負載均衡伺服器將資料包的源地址修改為自己的IP地址,傳送給使用者的瀏覽器。

這裡的關鍵是真實WEB伺服器對應的資料包是如何返回到負載均衡伺服器的。 一種是負載均衡伺服器在修改目的IP地址的同時修改源地址,將資料包的源地址改為自己的IP,即源地址轉換(SNAT)。 另一種解決方案是使用負載平衡伺服器作為真實 IP 地址。 物理伺服器的閘道器伺服器,以便所有資料都進入負載平衡伺服器。

IP負載均衡在核心程式中完成資料分發,比反向代理均衡具有更好的處理效能。 但是,由於所有的請求和響應報文都需要經過負載均衡伺服器,負載均衡的網路卡頻寬成為了系統的瓶頸。

4-HTTP重定向負載均衡(少見)

HTTP 重定向伺服器是一個普通的應用伺服器。 它唯一的作用就是根據使用者的HTTP請求計算出真實的伺服器地址,並將真實的伺服器地址寫入HTTP重定向響應(響應狀態302)並返回給瀏覽器。 ,然後瀏覽器自動請求真實伺服器。

這種負載均衡方案的優點是比較簡單,但缺點是瀏覽器需要每次請求伺服器兩次才能完成一次訪問,效能較差; 使用 HTTP302 響應碼重定向可能會被搜尋引擎判斷為 SEO 作弊,減少搜尋結果。 結果。 排行。 重定向伺服器本身的處理能力可能會成為瓶頸。 因此,這種方案在實踐中很少使用。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70017615/viewspace-2898408/,如需轉載,請註明出處,否則將追究法律責任。

相關文章