天天看點

[Nginx]負載均衡和動靜分離負載均衡動靜分離

負載均衡

用戶端發送多個請求到伺服器,伺服器處理請求,有一些可能要與資料庫進行互動,伺服器處理完畢後,再将結果傳回給用戶端。

[Nginx]負載均衡和動靜分離負載均衡動靜分離

這種架構模式對于早期的系統相對單一,并發請求相對較少的情況下是比較适合的,成本也低。但是随着資訊數量的不斷增長,通路量和資料量的飛速增長,以及系統業務的複雜度增加,這種架構會造成伺服器相應用戶端的請求日益緩慢,并發量特别大的時候,還容易造成伺服器直接崩潰。很明顯這是由于伺服器性能的瓶頸造成的問題,那麼如何解決這種情況呢?

我們首先想到的可能是更新伺服器的配置,比如提高 CPU 執行頻率,加大記憶體等提高機器的實體性能來解決此問題,但是我們知道摩爾定律的日益失效,硬體的性能提升已經不能滿足日益提升的需求了。最明顯的一個例子,天貓雙十一當天,某個熱銷商品的瞬時通路量是極其龐大的,那麼類似上面的系統架構,将機器都增加到現有的頂級實體配置,都是不能夠滿足需求的。那麼怎麼辦呢?

上面的分析我們去掉了增加伺服器實體配置來解決問題的辦法,也就是說縱向解決問題的辦法行不通了,那麼橫向增加伺服器的數量呢?這時候叢集的概念産生了,單個伺服器解決不了,我們增加伺服器的數量,然後将請求分發到各個伺服器上,将原先請求集中到單個伺服器上的情況改為将請求分發到多個伺服器上,将負載分發到不同的伺服器,也就是我們所說的負載均衡

[Nginx]負載均衡和動靜分離負載均衡動靜分離

動靜分離

為了加快網站的解析速度,可以把動态頁面和靜态頁面由不同的伺服器來解析,加快解析速度。降低原來單個伺服器的壓力。

傳統方式

[Nginx]負載均衡和動靜分離負載均衡動靜分離

動靜分離

[Nginx]負載均衡和動靜分離負載均衡動靜分離

繼續閱讀