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