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


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上請求連接的客戶端,此時代理服務器對外就表現為一個服務器,該服務器就可稱之為代理服務器。由於代理服務器處在最終處理請求訪問的服務器之前,因此可以在代理服務器上做負載均衡。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM