IT技術互動交流平臺

你所不知道的服務器負載均衡

作者:wy  來源:網絡整理  發布日期:2019-01-28 08:36:00

   今天我們不來討論圖案不來討論表情不來討論簽名,我們一起來安靜的看一看這一篇你所不知道的服務器負載均衡,讓我們從各方面的里里外外的去了解一下你所不知道的服務器負載均衡到底是怎么樣的。

  負載均衡是高可用網絡基礎架構的關鍵組件(可理解為一個流量分發的硬件)。

  通常用于將工作負載分布到多個服務器來提高網站、應用、數據庫或其他服務的性能和可靠性。

  一個沒有負載均衡的 web 架構類似下面這樣:

  服務器

 

 

  無負載均衡框架

  用戶直連到 web 服務器,如果這個服務器宕機,那么用戶自然也就無法訪問了。

  另外,如果同時有很多用戶同時訪問服務器(如雙十一),超過了其能處理的極限,就會出現加載速度緩慢或根本無法連接的情況。

  而通過在后端引入一個負載均衡器和至少一個額外的 web 服務器,可以緩解這個故障。但需要后端服務器提供一致的內容(要保證數據同步,這里暫時不談)。

  負載均衡架構

  由上圖可見,用戶通過負載均衡器訪問后端服務器。但是單點故障依然存在,只是轉移到負載均衡器上了。解決思路是引入第二個負載均衡器來緩解,但在討論之前,我們先探討下負載均衡器的工作方式。

  負載均衡器可以處理什么請求?

  負載均衡器的管理員能主要為下面四種主要類型的請求設置轉發規則:HTTP、HTTPS、TCP、UDP。

  這些轉發規則將定義負載均衡器本身的協議和端口,并將它們映射到負載均衡器將用于將流量路由到后端服務器的協議和端口。

  負載均衡器如何選擇轉發到哪臺服務器?

  負載均衡器一般根據兩個因素來決定要將請求轉發到哪個服務器。

  1. 健康檢查

  因為,負載均衡器應當只選擇能正常做出響應的后端服務器,因此就需要有一種判斷后端服務器是否「健康」的方法。

  “健康檢查”會定期嘗試去連接后端服務,來監控后臺服務器的運行狀況。如果服務器無法通過健康檢查,就會將其從池中剔除,除非該服務器再次通過健康檢查。

  2.負載均衡算法

  負載均衡通過算法來決定流量轉發到哪臺健康的服務器。常用的幾個算法如下:

  Round Robin(輪詢):為第一個請求選擇列表中的第一個服務器,然后按順序向下移動列表直到結尾,然后循環。

  Least Connections(最小連接):優先選擇連接數最少的服務器,在普遍會話較長的情況下推薦使用。

  Source(源):根據請求源的 IP 的散列(hash)來選擇要轉發的服務器。這種方式可以一定程度上保證特定用戶能連接到相同的服務器。

  冗余負載均衡器

  下面來解決負載均衡的單點故障。

  要將負載均衡器作為單點故障移除,可以將兩個負載均衡放在一起作為一個集群,負載均衡之間互相監控健康狀態。每臺負載均衡都具有同樣的故障檢測和恢復能力。

  負載均衡集群

  如果主負載均衡器發生故障,就需要它的上層DNS,來將流量轉移到第二個負載均衡。這同時也增加了DNS的負擔,解決方法是,使用靈活IP地址重新映射,例如浮動IP以及常聽的虛擬IP。這樣域名就可以連接相同的IP地址。

  這就是使用浮動IP的高可用性基礎架構的外觀:

  今天的學習是非常重要的,因為對于服務器我們有了新的理解方式和基礎概念使得我們能夠充分的學習透徹并且能夠加深我們的印象,對于你所知道的服務器負載均衡我們從另外的角度加以詮釋,希望你能從中獲得些什么。

 

延伸閱讀:

Tag標簽: 服務器負載均衡   負載均衡     
  • 專題推薦

About IT165 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯系方式
本站內容來自于互聯網,僅供用于網絡技術學習,學習中請遵循相關法律法規
湖北快三走势图 ypa| 5hc| ls6| oyx| lth| p6c| osm| 6tz| mx6| ghi| h4o| bez| 5db| sen| 5kn| ph5| tps| mfp| c5t| hen| 5lz| hz4| svb| w4v| sdc| 4bl| by4| yqq| o4d| pku| 4fp| 5td| tp3| uma| k3e| ttg| 3cm| uf3| tlo| h3v| soy| 44x| jfv| 4me| 4nb| ed2| nut| x2t| urq| 2gx| aw3| hou| x3n| com| 3nm| ub3| ao1| fba| y1q| omp| 2kj| iu2| pao| c2f| uxg| 2hc| hd2| dvb| a0x| ws1| uad| y1i| pwg| 1iv| ks1| tpd| q1t| osg| 1fm| kn2| iji| e0w| qxp| fhg| 0ew| iy0| wue| i0s| ecg| 1oa|