1. 程式人生 > >網際網路應用架構中負載均衡器的作用

網際網路應用架構中負載均衡器的作用

在網際網路高併發的場景中,使用者請求一般會經過負載均衡,然後再經由負載均衡器對請求分發到某一天web伺服器上對請求進行處理

摘自《Java EE 網際網路輕量級框架整合開發》


對於負載均衡器,一般有以下幾個功能:

1. 對業務請求進行初步分析

  • 對業務請求進行初步的分析,決定分不分發請求到web伺服器,好比一個把控的關卡,常見的分發軟體比如Nginx和Apache等反向代理伺服器,它們再關卡處可以通過配置禁止一些無效的請求,比如經常封禁的IP地址,也可以使用Lua、C語言聯合NoSQL快取技術進行業務分析,這樣就可以初步分析業務,決定是否分發到伺服器。

2. 提供路由演算法

  • 提供路由演算法,它可以提供一些負載均衡的演算法,根據各個伺服器的負載能力進行合理分發,每一個web伺服器得到比較均衡的請求,從而降低單個伺服器的壓力,提高系統的響應能力。

3. 限流

  • 限流,對於一些高併發時刻,如雙十一、新產品上線,需要通過限流來處理,因為可能某個時刻通過上述的演算法讓有效的請求過多到達伺服器,使得一些web伺服器或者資料庫伺服器產生宕機。當某臺機器宕機後,會使得其他伺服器承受更大的請求量,這樣就容易產生多臺伺服器連續宕機的可能性,持續下去就會引發伺服器雪崩。因此在這種情況下,負載均衡器有限流的演算法,對於請求過多的時刻,可以告知使用者系統繁忙,稍後再試,從而保證系統持續可用