伺服器負載過高的處理方式
網際網路早期,業務流量比較小,業務邏輯比較簡單,單臺伺服器就可以滿足基本需求; 但是隨著網際網路的發展,業務流量越來越大,業務邏輯越來越複雜,單臺伺服器的效能也越來越複雜。 . 突出顯示需要跨多臺機器橫向擴充套件效能的問題和單點故障,並避免單點故障。 但是如何將不同使用者的流量分配到不同的伺服器上呢?
較早的方法是使用 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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何判斷伺服器的負載是不是過高伺服器負載
- cpu負載是什麼意思 電腦cpu負載過高怎麼處理解決負載
- 伺服器負載過高的原因是什麼?如何解決?伺服器負載
- 在國產處理器伺服器上做HAProxy負載均衡伺服器負載
- 使用air實現熱過載時遇到的問題處理方式記錄AI
- 磁碟IO過高時的處理辦法
- HBase協處理器載入的三種方式
- 處理器負荷過大怎麼解決
- 轉載:Java處理高併發量訪問的處理總結Java
- error的處理方式Error
- Bumblebee之負載、限流和故障處理實踐負載
- 如何使網站伺服器承擔高負載網站伺服器負載
- Linux伺服器被入侵後的處理過程Linux伺服器
- oracle使用者鎖住、過期處理方式Oracle
- 伺服器負載均衡伺服器負載
- 伺服器負載分析伺服器負載
- keepalived高可用負載均衡負載
- Nginx負載均衡高可用Nginx負載
- Oracle CPU使用率過高問題處理Oracle
- 負載均衡是什麼?怎麼理解負載均衡的部署方式和工作原理負載
- 【知識分享】如何使網站伺服器承擔高負載網站伺服器負載
- spark-streaming-kafka透過KafkaUtils.createDirectStream的方式處理資料SparkKafka
- mysql,sqlserver資料庫單表資料過大的處理方式MySqlServer資料庫
- Nginx圖片下載不完整的處理過程Nginx
- cpu負載過高原因負載
- React 中常用的事件處理方式React事件
- Hadoop小檔案的處理方式Hadoop
- 行連線的處理方式指引
- 大數加法(處理不了負數)
- 異常處理方式throws
- 六種實現負載均衡技術的方式負載
- 當 Vue 處理陣列與處理純物件的方式一樣Vue陣列物件
- 利用 Arthas 精準定位 Java 應用 CPU 負載過高問題Java負載
- 詳述一條SQL引發的高CPU故障處理過程SQL
- SAP伺服器通過SMLG 登陸組的配置調節各服務的負載伺服器負載
- PHP處理密碼的幾種方式PHP密碼
- SQLite 併發的四種處理方式SQLite
- php 與 nginx 的兩種處理方式PHPNginx