1. 程式人生 > >大型網站架構演進(4)使用應用伺服器叢集

大型網站架構演進(4)使用應用伺服器叢集

原文: 大型網站架構演進(4)使用應用伺服器叢集

   使用應用伺服器叢集是解決高併發的常用手段,當一臺應用伺服器的處理能力不足時,不要企圖更換配置更高的伺服器,對於大型網站而言,不管多麼強大的伺服器,都滿足不了持續增長的業務需求,在這種情況下,更好的做法是增加一臺應用伺服器去分擔原來伺服器的壓力。因為這樣使得系統的可擴充套件和可伸縮性更好。

使用應用伺服器叢集

架構如下圖:

總結:

使用應用伺服器集群后,應用伺服器這一層的高併發問題就解決了,但是高併發的壓力就轉移到資料庫了,所以後面要繼續優化架構去解決資料庫的壓力問題,這個階段應用層理論上併發數是不受限制的,因為隨時可以擴充應用伺服器。

同時使用應用伺服器叢集,會帶來一個典型的問題:Session會話問題,如何保證接下來的每次請求都落在同一個伺服器上。常用的有兩種解決方案:

1,固定Nginx的路由,一般使用Hash源地址雜湊法,將來自同一IP的請求,都轉發到相同伺服器處理。參考:http://www.cnblogs.com/itfly8/p/5043452.html

2,Session集中儲存,使用redis實現session共享。參考:http://www.cnblogs.com/yanweidie/p/4719692.html