本文章主要講解大型網站構建,全部采用開源軟件和開源的操作系統,構架采用 LAMP (Linux+Apache+Mysql+Php)模式實現。
大型網站集群構建之: 需求分析篇
大型網站集群構建之:DNS配置篇
大型網站集群構建之:共享session討論篇
大型網站集群構建之:負載均衡篇
一、大型網站的服務器集群構建思路
(這里講解的是高可用集群,暫不涉及科學計算集群)
1、由于這次介紹的重點是大型網站構架,因為內容太多,所以在這里我要把主要部分劃分成幾個模塊來作介紹,可能不適合你的實際情況,但希望能起到拋磚引玉的作用。
2、所謂大型網站主要的特點是訪問量大,既然是海量訪問,那么帶寬就一定要大,而且在中國的網絡環境中單單靠一家也難保訪問的快速、穩定,所以我們這里選擇三家網絡運營商,也許你的環境更復雜,需要的更多,我們這里就暫時以三家為例,我們現在分別使用,網通,電信,其他線路,3條線路。為了能讓訪問達到最佳效果,這里使用linux-bind 中的view技術+iptables+iproute2來解決,這就是我要介紹的第一個模塊,解決線路問題的模塊,當然如果你很有錢,可以去購買F5的 3DNS和LINK-CONTROL.
3、web集群,這個相對簡單一點,主要分兩步解決這個問題,第一提高單臺服務器的吞吐能力,第二使用多臺服務器共同為一個需求服務,這里采用apache+lvs+rsync解決,當然有錢購買硬件也可以輕松實現這個功能,例如F5的BIGIP+SAN,這就是我說的第二個模塊,web服務器模塊。
4、數據庫集群,這個是比較頭疼的一個問題,我們先分析一下,數據庫的基本功能有4個,分別是增、刪、查、改、對這四個功能在分一下類,其中增、刪、改,是寫操作,查是讀操作,首先你要確定的是你要做的數據庫集群是那個需求比較多,這里我所做的是讀非常多的數據庫,那么寫非常多的數據庫將在這個帖子后面繼續討論,這里就需要程序的開發人員區分不同操作來訪問不同的機器來完成。這里使用mysql+replication+lvs來解決查詢大的問題,這就是第3個模塊。
5、為了解決以上問題中出現的單點故障給網絡帶來的問題,這里使用ucarp和heartbeat來解決以上所有單點故障的問題。本文中介紹的很多軟件功能上有很多重復,實際操作中你可能僅僅需要使用其中的幾個或部分功能,這里盡可能的多使用只是為了讓大家方便對比,并根據自己的喜好選擇軟件。
6、安裝,這么大量的流量必須有大量的機器來保證,如何快速準確的安裝好每一臺機器。
7、監控維護,這里討論如何監控維護一個集群。
8、這篇文章是我個人的學習筆記,本系列中的全部代碼均來自實際生產運行的服務器,完全實地配置運行,并非實驗腳本。
共2頁: 1 [2] 下一頁 | ||||
|