什麼是負載均衡,為什麼要做負載均衡?

来源:https://www.cnblogs.com/daiyacheng1991/archive/2019/09/06/11471393.html
-Advertisement-
Play Games

1.背景介紹 隨著 Internet 的快速發展和業務量的不斷提高,基於網路的數據訪問流量迅速增長,特別是對數據 中心、大型企業以及門戶網站等的訪問,其訪問流量甚至達到了 10Gb/s 的級別;同時,伺服器網 站藉助 HTTP、FTP、SMTP 等應用程式,為訪問者提供了越來越豐富的內容和信息,服務 ...


1.背景介紹

隨著 Internet 的快速發展和業務量的不斷提高,基於網路的數據訪問流量迅速增長,特別是對數據 中心、大型企業以及門戶網站等的訪問,其訪問流量甚至達到了 10Gb/s 的級別;同時,伺服器網 站藉助 HTTP、FTP、SMTP 等應用程式,為訪問者提供了越來越豐富的內容和信息,伺服器逐漸 被數據淹沒;另外,大部分網站(尤其電子商務等網站)都需要提供不間斷 24 小時服務,任何服 務中斷或通信中的關鍵數據丟失都會造成直接的商業損失。所有這些都對應用服務提出了高性能和 高可靠性的需求。 但是,相對於網路技術的發展,伺服器處理速度和記憶體訪問速度的增長卻遠遠低於網路帶寬和應用 服務的增長,網路帶寬增長的同時帶來的用戶數量的增長,也使得伺服器資源消耗嚴重,因而服務 器成為了網路瓶頸。傳統的單機模式,也往往成為網路故障點。

針對以上情況的解決方案:

(1) 伺服器進行硬體升級:採用高性能伺服器替換現有低性能伺服器。 該方案的弊端:

高成本:高性能伺服器價格昂貴,需要高額成本投入,而原有低性能伺服器被閑置,造成資 源浪費。

可擴展性差:每一次業務量的提升,都將導致再一次硬體升級的高額成本投入,性能再卓越 的設備也無法滿足當前業務量的發展趨勢。

無法完全解決現在網路中面臨的問題:如單點故障問題,伺服器資源不夠用問題等。

(2) 組建伺服器集群,利用負載均衡技術在伺服器集群間進行業務均衡。

該方案的優勢: 低成本

可擴展性:當業務量增長時,系統可通過增加伺服器來滿足需求,且不影響已有業務,不降 低服務質量

高可靠性:單台伺服器故障時,由負載均衡設備將後續業務轉向其他伺服器,不影響後續業 務提供,保證業務不中斷。

2.知識剖析

負載均衡原理

系統的擴展可分為縱向(垂直)擴展和橫向(水平)擴展。縱向擴展,是從單機的角度通過增加硬體處理能力,比如CPU處理能力,記憶體容量,磁碟等方面,實現伺服器處理能力的提升,不能滿足大型分散式系統(網站),大流量,高併發,海量數據的問題。因此需要採用橫向擴展的方式,通過添加機器來滿足大型網站服務的處理能力。比如:一臺機器不能滿足,則增加兩台或者多台機器,共同承擔訪問壓力。這就是典型的集群和負載均衡架構:如下圖:

 

 

應用集群:將同一應用部署到多台機器上,組成處理集群,接收負載均衡設備分發的請求,進行處理,並返回相應數據。

負載均衡設備:將用戶訪問的請求,根據負載均衡演算法,分發到集群中的一臺處理伺服器。(一種把網路請求分散到一個伺服器集群中的可用伺服器上去的設備)

負載均衡的作用:

1.解決併發壓力,提高應用處理性能(增加吞吐量,加強網路處理能力);

2.提供故障轉移,實現高可用;

3.通過添加或減少伺服器數量,提供網站伸縮性(擴展性);

4.安全防護;(負載均衡設備上做一些過濾,黑白名單等處理)

負載均衡分類:

根據實現技術不同,可分為DNS負載均衡,HTTP負載均衡,IP負載均衡,反向代理負載均衡、鏈路層負載均衡等。

負載均衡演算法:

輪詢、 隨機、最少鏈接、Hash(源地址散列)、加權

硬體負載均衡:

採用硬體的方式實現負載均衡,一般是單獨的負載均衡伺服器,價格昂貴,一般土豪級公司可以考慮,業界領先的有兩款,F5和A10。

價格:F5, 15w~55w不等;A10, 55w-100w不等。

優點:功能全面支持各層級的負載均衡,支持全面的負載均衡演算法,支持全局負載均衡。一般軟體負載均衡支持到5萬級併發已經很困難了,硬體負載均衡可以支持。商用硬體負載均衡穩定性高,具備防火牆,防DDOS攻擊等安全功能,提供售後支持。

3.常見問題

怎麼配置負載均衡?

4.解決方案

1.部署至少兩台伺服器,我選擇在本地部署一臺jetty、一臺tomcat。

2.在nginx.conf配置文件中http括弧內添加如下配置:

upstream  local_tomcat {

server    localhost:8088;

server    localhost:8089;}

server{

location / {

proxy_pass http://local_tomcat;}}

3.在hosts文件中添加解析功能變數名稱

127.0.0.1     local_tomcat

5.擴展思考

什麼是反向代理負載均衡?

反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連接請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連接的客戶端,此時代理伺服器對外就表現為一個伺服器,該伺服器就可稱之為代理伺服器。由於代理伺服器處在最終處理請求訪問的伺服器之前,因此可以在代理伺服器上做負載均衡。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 筆者使用的VMware和CentOS 7.0。在安裝完鏡像包後,便開始配置靜態ip。命令如下 修改Windows系統下的網路適配器中IPv4的屬性 將異常名作為關鍵字搜索出來的解決方法中幾乎都是教筆者上面的步驟。後來以“ping 不通外網”來搜索出來的帖子有瞭解決方案,詳細歡迎點擊鏈接。 https ...
  • 搜索時要輸入完整路徑,即目錄或文件名 下麵是find命令的模糊查詢: 通配符另一種用法: 有’碼‘或者有’程‘的都能查出來 name 前面加上’i‘,忽略大小寫: 查看文件不足1k的文件: 1k以上: 通過inum查文件: 查大於20k小於50k的文件: ...
  • locate命令 locate 文件名 在後臺資料庫中按文件名搜索,搜索速度更快 /var/lib/mlocate #locate命令所搜索的後臺資料庫 updatedb 更新資料庫 locate搜索速度比較快; [root@localhost ~]# ls 222 anaconda-ks.cfg ...
  • 在 Linux 中,刪除 rm 命令使用需謹慎,有時候可能由於誤操作,導致重要文件刪除了,這時不要太緊張,操作得當的話,還是可以恢復的。 ...
  • linux中 關於目錄 有幾個重要概念 一個是 / 根目錄 還有一個當前用戶的家目錄 比如 root用戶的家目錄是 /root 普通用戶的家目錄是/home/xxx 下 root登錄 預設家目錄 是root 我們這裡先用 cd .. 進入 / 根目錄 [root@localhost ~]# cd . ...
  • 1、可以高併發連接 官方測試Nginx能夠支撐5萬併發連接,實際生產環境中可以支撐2~4萬併發連接數。 原因,主要是Nginx使用了最新的epoll(Linux2.6內核)和kqueue(freeBSD)網路I/O模型,而Apache使用的是傳統的Select模型,其比較穩定的Prefork模式為多 ...
  • 通常,此類情況是pdf maker 插件被禁用導致,點擊office 2007左上角菜單欄,選項,載入項,在管理處選擇禁用項目, 找到acrobat pdf maker office com addin,啟用,問題解決。 ...
  • 一、什麼是SEO? SEO是英文Search Engine Optimization的縮寫,中文譯為“搜索引擎優化”。簡單的定義是從自然搜索結果獲得網站流量的技術和過程,從而改進網站在搜索引擎中自然排名的一種技術,也叫SEO優化。百度搜索一個關鍵詞,在搜索的結果中排名靠前的,不是廣告的,就是靠著SE ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...