日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

1、為什么要負載均衡?

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

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

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

負載均衡的作用(解決的問題):

1、解決并發壓力,提高吞吐量。

2、提供故障轉移,檢測下游服務器狀態,實現高可用。

3、利于橫向擴展服務器。

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

2、負載均衡種類

2.1 DNS負載均衡

最早的負載均衡技術,利用域名解析實現負載均衡,在DNS服務器,配置多個A記錄,這些A記錄對應的服務器構成集群。大型網站總是部分使用DNS解析,作為第一級負載均衡。如下圖:

優點

1、使用簡單:負載均衡工作,交給DNS服務器處理,省掉了負載均衡服務器維護的麻煩。

2、提高性能:可以支持基于地址的域名解析,解析成距離用戶最近的服務器地址,可以加快訪問速度,改善性能。

缺點

1、可用性差:DNS解析是多級解析,新增/修改DNS后,解析時間較長;解析過程中,用戶訪問網站將失敗。

2、擴展性低:DNS負載均衡的控制權在域名商那里,無法對其做更多的改善和擴展。

3、維護性差:也不能反映服務器的當前運行狀態;支持的算法少;不能區分服務器的差異(不能根據系統與服務的狀態來判斷負載)。

4、更新不及時:DNS緩存可能會保留較長時間。

實踐建議

將DNS作為第一級負載均衡,A記錄對應著內部負載均衡的IP地址,通過內部負載均衡將請求分發到真實的Web服務器上。

2.2 硬件負載均衡

硬件負載均衡通過單獨的硬件設備來實現負載均衡功能,這類設備和路由器、交換機類似。

目前業界典型的硬件負載均衡設備有兩款: F5 和 A10 。性能強勁、功能強大,但價格都很昂貴。

優點

1、功能強大:全面支持各層級的負載均衡,支持全面的負載均衡算法,支持全局負載均衡。

2、性能強大:對比一下,軟件負載均衡支持到 10 萬級并發已經很厲害了,硬件負載均衡可以支持 100 萬以上的并發。

3、穩定性高:商用硬件負載均衡,經過了良好的嚴格測試,經過大規模使用,穩定性高。

4、支持安全防護:硬件均衡設備除具備負載均衡功能外,還具備防火墻、防 DDoS 攻擊等安全功能。

缺點

1、價格昂貴:最普通的一臺 F5十多萬,好一點近百萬元。

2、擴展能力差:硬件設備,可以根據業務進行配置,但無法進行擴展和定制。

實踐建議

可以在DNS作地理級別負載均衡的情況下,在其下級使用F5或A10作為低級的負載均衡器,之后將流量轉發到下級集群,如下圖所示。

2.3 軟件負載均衡

軟件負載均衡,可以在普通的服務器上運行負載均衡軟件,實現負載均衡功能。目前常見的有 Nginx、HAproxy、LVS,其中的區別:

  • Nginx:七層(OSI網絡七層模型,第七層應用層)負載均衡,支持 HTTP、E-mail 協議,同時也支持四層負載均衡;
  • HAproxy:支持七層規則的,性能也很不錯。OpenStack 默認使用的負載均衡軟件就是 HAproxy;
  • LVS:運行在內核態,性能是軟件負載均衡中最高的,嚴格來說工作在第三層網絡層,所以更通用一些,適用各種應用服務。

優點

1、易操作:無論是部署還是維護都相對比較簡單。

2、便宜:只需要服務器的成本,軟件是免費的

3、靈活:4 層和 7 層負載均衡可以根據業務特點進行選擇,方便進行擴展和定制功能。

與硬件負載均衡相比的缺點

1、性能一般,一個 Nginx 大約能支撐 5 萬并發。

2、功能沒有硬件負載均衡那么強大。

3、一般不具備防火墻和防 DDoS 攻擊等安全功能。

3、LVS:專注網絡更底層,性能更卓越

前面介紹了負載均衡的種類后,可以看到重點應該在軟件負載均衡。Nginx大家都應該有所耳聞,工作在應用層,配置方便,所有的流量(相應、請求報文)都會經過代理服務器Nginx,但如果流量較大,勢必為成為系統的瓶頸,而工作在傳輸層和網絡層的LVS負載均衡器具有更強的負載均衡能力。概括的來說,它能在網絡層就實現路由重定向,之后響應報文會直接通過真實服務器發送給原始的客戶端,不走LVS,大大降低了流量;但需要在代理服務器和真實服務器上進行復雜的配置,而且不會有錯誤檢測和重發。

4、DNS+硬件+LVS+Nginx多級負載均衡

前面咱們提到DNS負載均衡的時候就引出了多級負載均衡的概念,LVS像是在硬件負載均衡器和Nginx之間的一種折中的解決方案,由此可以形成一種 DNS —> F5/A10 —> LVS —> Nginx

的負載均衡架構體系了(具體系統具體分析,可以取消任意一層),很像計算機網絡的網絡層+數據鏈路層多級架構的模式。

LVS + 多Nginx 的使用中,既可以避免LVS故障檢測的短板,又能避免Nginx性能瓶頸問題。同時nginx 還可以作為一個中間環節來減小后端 Tomcat 的服務壓力,以及做一些業務切換、分流、前置緩存的功能。

5、負載均衡器高可用集群

單點LVS或Nginx仍然可能存在單點故障(可能概率極小),可以根據業務的關鍵程度,構建負載均衡器集群,LVS自身有雙機熱備機制(主備架構),Nginx需要額外編寫軟件來實現主備或主從架構。

6、到底要不要負載均衡?

前面談論了這么多的負載均衡方案,為什么又回到了第一個問題,做不做負載均衡?或者說,橫向擴展真的有必要么?這確實是一個相對的問題,如果只是常規的中小應用,qps根本達不到單機Nginx的峰值5W (可以參考20W用戶的應用qps只有十幾),即使是大型應用,也得分應用類型,并不是每個應用都要設計成秒殺系統,橫向擴展了之后意味著需要投入成倍的管理成本。總之,可以先優化算法,分析系統瓶頸,重構單機應用代碼,軟件實在無法擴展了之后再考慮擴展硬件,而且現在處于云計算時代,彈性云服務器是很方便進行硬件擴展的,最后的最后,再考慮集群架構。切記,不要一味地為了高吞吐量而采用直接集群、分布式,技術架構要跟著業務能力跑。如果只是個人博客網站,做負載均衡可能只是感動自己。

 

如若轉載,請注明出處:開源字節 https://sourcebyte.vip/article/273.html

分享到:
標簽:Nginx
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定