关于负载均衡的讲解
什么是負載均衡
負載均衡是高可用網絡基礎架構的關鍵組件,通常用于將工作負載分布到多個服務器來提高網站、應用、數據庫或其他服務的性能和可靠性。
使用負載均衡和不使用的web 服務器
一個沒有負載均衡的 web 架構類似下面這樣:
在這里用戶是直連到 web 服務器,如果這個服務器宕機了,那么用戶自然也就沒辦法訪問了。另外,如果同時有很多用戶試圖訪問服務器,超過了其能處理的極限,就會出現加載速度緩慢或根本無法連接的情況。
而通過在后端引入一個負載均衡器和至少一個額外的 web 服務器,可以緩解這個故障。通常情況下,所有的后端服務器會保證提供相同的內容,以便用戶無論哪個服務器響應,都能收到一致的內容。
從圖里可以看到,用戶訪問負載均衡器,再由負載均衡器將請求轉發給后端服務器。在這種情況下,單點故障現在轉移到負載均衡器上了。這里又可以通過引入第二個負載均衡器來緩解,但在討論之前,我們先探討下負載均衡器的工作方式。
為什么要在做負載均衡
我們一般都使用單臺機器對臺提供集中式服務,但是隨著業務量越來越大,無論是性能上還是穩定性上都有了更大的挑戰。這時候我們就會想到通過擴容的方式來提供更好的服務。我們一般會把多臺機器組成一個集群對外提供服務 比如訪問www.taobao.com,那么當用戶在瀏覽器輸入www.taobao.com的時候如何將用戶的請求分發到集群中不同的機器上呢,這就是負載均衡在做的事情。
負載均衡以下作用
1.解決并發壓力,提高應用處理性能(增加吞吐量,加強網絡處理能力);
2.提供故障轉移,實現高可用;
3.通過添加或減少服務器數量,提供網站伸縮性(擴展性);
4.安全防護;(負載均衡設備上做一些過濾,黑白名單等處理)
負載均衡分類:
根據實現技術不同,可分為DNS負載均衡,HTTP負載均衡,IP負載均衡,反向代理負載均衡、鏈路層負載均衡等。
1…基于DNS的負載均衡
由于在DNS服務器中,可以為多個不同的地址配置相同的名字,最終查詢這個名字的客戶機將在解析這個名字時得到其中一個地址,所以這種代理方式是通過DNS服務中的隨機名字解析域名和IP來實現負載均衡。
2.什么是反向代理負載均衡?
反向代理負載均衡(如Apache+JK2+Tomcat這種組合)
該種代理方式與普通的代理方式不同,標準代理方式是客戶使用代理訪問多個外部Web服務器,之所以被稱為反向代理模式是因為這種代理方式是多個客戶使用它訪問內部Web服務器,而非訪問外部服務器。
3.服務器軟件有:Apache 、Tomcat、Nginx。
Nginx是服務器軟件,最為基本和最為重要的功能是:與硬件結合,發布應用程序。除此之外Nginx還是高性能HTTP和反向代理服務器,
Nginx服務器的優缺點:
優點是:實現高并發,部署簡單,內存消耗少,成本低
缺點是:rewrite不夠強大,模塊沒有Apache
總結
- 上一篇: SpringBoot中RSocket如何
- 下一篇: 怎么对XFS进行备份、恢复、修复