所謂大型網站主要的特點是訪問量大,既海量訪問,對頻寬要求大,而在中國的網絡環境比較複雜,單單靠一家也難保訪問的快速、穩定,我們可能選擇多家網絡運營商,才能得到保障。
我們不得不把伺服器分散部署到各地
一個IP,多台伺服器流水綫方式解決方案。
這種方案必須使用帶有雙網卡的伺服器,建議選擇千兆網卡,web伺服器與database連接建議採用交叉綫互聯,不要通過Hub,Switch連接。
當web和database在同一台伺服器是建議採用 UNIX SOCK 來連結資料庫,以代替TCP/IP Socket。
以上圖中的第三套方案為例,當用戶訪問網站時,通過電信交換機連接到cache伺服器,有兩種情況。第一種是靜態html檔案或圖片,將判斷是否被緩存,如果緩存直接反饋給用戶否則連結web伺服器。第二種動態腳本,將處理立即送給web伺服器。如果動態腳本有請求資料庫操作,將連接database伺服器。
這種方式適合中小型企業,非互聯網運營商,僅僅是用一個IP實現。
兩個IP,多台伺服器解決方案。
建議你吧圖片,縮圖單獨使用一台伺服器實現。
多個IP,多台伺服器解決方案。
這種方案要注意伺服器全部暴露在WAN上,一定要謹慎設置iptables規則。
下面是負載均衡的例子
過程 1.1. 過程訪問演示
訪問用戶 www.example.com 網站
用戶輸入網址: www.example.com回車
dns
域名伺服器將www.example.com解析到load balancing負載請均衡調度伺服器。
load balancing
負載均衡器根據調度算法分配到某個squid節點上
squid
靜態規則:判段是否是緩存,如果已經緩存從cache中直接取出內容,否則請求web伺服器
動態規則:直接請求web伺服器
請求web伺服器是將再次由load balancing分配web節點
web
web server 處理動態腳本,連接資料庫查詢。連接資料庫是仍然需要由load balancing分配database節點
database
database cluster