一 目標
1 均衡系統壓力,減少單個服務器因壓力過於集成而超負荷運轉的發生幾率。
2 加快用戶的訪問的速度。
3 自動備援,避免因單點故障而導致整個系統癱瘓的情況發生。
4 日後系統的便於擴展,通過增加相應的服務器節點即可提高整個系統的承載能力。
二 軟件配置
系統 :RHEL4 [ Linux version 2.6.9-42.EL]
負載均衡 :ipvsadm(1.24-6)
緩存服務器 :squid(3.0)
應用服務器(Web動態內容) :apache(2.2.6)
資源服務器(Web靜態內容) :lighttpd(1.4.18)
數據庫服務器 : MySQL-max(5.1)
節點監控&故障切換 : ldirectord+heartbeat
文件服務器 :nfs
Session服務器 : nfs
三 服務器分配
lb1,lb2 :負載均衡服務器,一個是工作服務器,一個是冗余服務器。
ch1,ch2... : 緩存服務器
dw1,dw2.... : 應用服務器(Web動態內容)
sw1,sw2... :資源服務器(Web靜態內容)
db1,db2,db2,db4.. : 數據庫服務器
se1,se2,se3... : session 服務器
注:以上服務器並非硬件服務器,在前期系統壓力不大的情況下,以上服務器可以多個部署在一個硬件服務器上。
四 部署
1 均衡服務器
lb1,lb2是兩個安裝了lvs的均衡服務器,兩個服務器中一個是工作服務器,一個冗余服務器,冗余服務器通過heartbeat偵測工作服務器是否出現故障,如果發現是,它將自動切換成工作服務器。
2 緩存服務器
安裝squid,用於緩存用戶對應用服務器請求的返回結果,以減少應用服務器的壓力,提供用戶訪問的速度。
3 應用服務器
安裝apache,用於運行和對外發布Web應用。
4 資源服務器
安 裝lighttpd,用於存放和對外發布靜態資源,包括圖片,CSS,Javascript...,資源存放在nfs文件系統上。用戶對資源的訪問無須經 過緩存服務器的緩存,但為了減少壓力,資源服務器應該合理設置客戶端緩存,以減少單個用戶在短時間內對相同資源的頻繁訪問。
5 Session 服務器
用於存放應用的Session文件,文件存放在 nfs 文件系統上。
6 數據庫服務器
安裝MySQL,為Web程序提供數據存儲服務 。 數據庫服務器以 MySQL 集群的方式部署。