直播中
內(nèi)容/新聞網(wǎng)站顧名思義是以提供內(nèi)容為主要功能的網(wǎng)站,例如新聞網(wǎng)、論壇等,提供給用戶(hù)各種靜、動(dòng)態(tài)內(nèi)容網(wǎng)頁(yè)。
內(nèi)容/新聞網(wǎng)站通常采用如下結(jié)構(gòu):
系統(tǒng)采用多層(N-Tie)架構(gòu),通常分為三層:信息發(fā)布層、應(yīng)用處理層、數(shù)據(jù)處理層。所有的應(yīng)用請(qǐng)求,都將通過(guò)信息發(fā)布層,一般就是Web服務(wù)器,轉(zhuǎn)給應(yīng)用處理層中的應(yīng)用服務(wù)器處理。
應(yīng)用服務(wù)器是獨(dú)立的進(jìn)程,對(duì)內(nèi)容進(jìn)行處理,并進(jìn)行內(nèi)容管理,將其中的所有數(shù)據(jù)操作轉(zhuǎn)給第三層,也就是數(shù)據(jù)處理層的數(shù)據(jù)庫(kù)服務(wù)器。來(lái)自數(shù)據(jù)庫(kù)服務(wù)器的網(wǎng)頁(yè)內(nèi)容經(jīng)過(guò)應(yīng)用服務(wù)器處理,生成內(nèi)容頁(yè)面,由web服務(wù)器提交給用戶(hù)瀏覽。
內(nèi)容/新聞網(wǎng)站流程(以基于JAVA技術(shù)的網(wǎng)站為例)如圖:
內(nèi)容/新聞網(wǎng)站通常包括其主體部分的內(nèi)容發(fā)布服務(wù)器(信息發(fā)布層、web服務(wù))、內(nèi)容管理服務(wù)器(應(yīng)用處理層)、網(wǎng)站數(shù)據(jù)庫(kù)服務(wù)器(數(shù)據(jù)處理層),以及作為輔助部分的圖片/文件服務(wù)器、認(rèn)證服務(wù)器等。
內(nèi)容/新聞網(wǎng)站詳細(xì)設(shè)計(jì)方案
1、內(nèi)容發(fā)布服務(wù)器(信息發(fā)布層、web服務(wù))
在應(yīng)用系統(tǒng)的多層體系結(jié)構(gòu)中,Web服務(wù)作為信息發(fā)布層,提供信息瀏覽、服務(wù)定位等功能。對(duì)于網(wǎng)站的動(dòng)態(tài)內(nèi)容,內(nèi)容發(fā)布服務(wù)器接受用戶(hù)請(qǐng)求并轉(zhuǎn)發(fā)給內(nèi)容管理服務(wù)器,而后將來(lái)自?xún)?nèi)容管理服務(wù)器的頁(yè)面發(fā)送給用戶(hù)。對(duì)于網(wǎng)站的靜態(tài)內(nèi)容,內(nèi)容發(fā)布服務(wù)器接受用戶(hù)請(qǐng)求,在本機(jī)內(nèi)查找內(nèi)容,并發(fā)送給用戶(hù)瀏覽。由此可見(jiàn),web服務(wù)器的系統(tǒng)資源主要用于滿(mǎn)足對(duì)訪問(wèn)請(qǐng)求連接的處理,也就是服務(wù)器能夠并行處理的web訪問(wèn)的數(shù)量。
Web服務(wù)的應(yīng)用需求
Web服務(wù)器要處理大量的來(lái)自網(wǎng)絡(luò)中的用戶(hù)對(duì)Web站點(diǎn)的訪問(wèn)請(qǐng)求,需要足夠大的內(nèi)存來(lái)緩存盡可能多的訪問(wèn)請(qǐng)求,并且需要一定的計(jì)算能力來(lái)處理這些訪問(wèn)請(qǐng)求,以提高系統(tǒng)的處理速度。而且要求磁盤(pán)I/O接口具有較大的通信帶寬,同時(shí)網(wǎng)絡(luò)線(xiàn)路具有較高的數(shù)據(jù)傳輸速率,以減少對(duì)網(wǎng)絡(luò)用戶(hù)訪問(wèn)請(qǐng)求的響應(yīng)時(shí)間。
如果Web服務(wù)主要為靜態(tài)網(wǎng)頁(yè),內(nèi)存數(shù)量是一個(gè)影響性能的關(guān)鍵因素,因?yàn)樗鼪Q定了web服務(wù)可以緩存多少內(nèi)容,緩存的內(nèi)容越多,在硬盤(pán)上讀取內(nèi)容的機(jī)會(huì)就越少,而存取硬盤(pán)上的特定文件是一件很費(fèi)時(shí)的操作。另外,因?yàn)橛写罅康捻?yè)面文件需要保存,因此需要一個(gè)相對(duì)較大的硬盤(pán)即可。
如果Web服務(wù)主要為動(dòng)態(tài)網(wǎng)頁(yè),并且將內(nèi)容管理與內(nèi)容發(fā)布分開(kāi),則其本身仍然類(lèi)似于靜態(tài)發(fā)布方式,只是由于需要增加一些系統(tǒng)資源,以便用于處理與內(nèi)容管理服務(wù)器之間的通訊。
服務(wù)器選型
信息發(fā)布層一般采用負(fù)載均衡的集群方式,由Web負(fù)載均衡服務(wù)器和Web服務(wù)節(jié)點(diǎn)組成。負(fù)載均衡器以虛擬主機(jī)名稱(chēng)的形式來(lái)表示單個(gè)系統(tǒng)映像,并跨越多個(gè)Web服務(wù)節(jié)點(diǎn)分配客戶(hù)機(jī)請(qǐng)求。這個(gè)功能為Web服務(wù)集群提供了卓越的可用性、可伸縮性和管理性。Web服務(wù)集群建議選用兩路X86服務(wù)器作為web服務(wù)集群的節(jié)點(diǎn),使用負(fù)載均衡系統(tǒng)實(shí)現(xiàn)web負(fù)載均衡集群。
2、內(nèi)容管理服務(wù)器(應(yīng)用處理層)
在網(wǎng)站的多層體系結(jié)構(gòu)中,內(nèi)容管理服務(wù)器作為應(yīng)用處理層,實(shí)現(xiàn)網(wǎng)站內(nèi)容的全部邏輯處理。對(duì)于網(wǎng)站的動(dòng)態(tài)內(nèi)容,內(nèi)容管理服務(wù)器根據(jù)web服務(wù)器轉(zhuǎn)發(fā)的訪問(wèn)請(qǐng)求,到數(shù)據(jù)庫(kù)服務(wù)器提取所需內(nèi)容,提交給web服務(wù)器發(fā)送給瀏覽網(wǎng)頁(yè)的用戶(hù)。對(duì)于網(wǎng)站的靜態(tài)內(nèi)容,內(nèi)容管理服務(wù)器則主要是作為后臺(tái)的內(nèi)容管理、制作平臺(tái),網(wǎng)站的管理、制作人員通過(guò)該平臺(tái)上傳網(wǎng)站內(nèi)容、定制網(wǎng)頁(yè)模板、預(yù)生成網(wǎng)頁(yè)、提交網(wǎng)頁(yè)到內(nèi)容發(fā)布服務(wù)器。
應(yīng)用服務(wù)器的需求與選型
內(nèi)容管理服務(wù)器處于關(guān)鍵地位,起到了承上啟下的作用,連接web服務(wù)與數(shù)據(jù)庫(kù),要完成對(duì)從數(shù)據(jù)庫(kù)所提取數(shù)據(jù)的處理,生成最終的處理結(jié)果,要求其具有相當(dāng)高的處理能力,并且能夠長(zhǎng)期可靠地運(yùn)轉(zhuǎn)。在應(yīng)用服務(wù)本身的實(shí)現(xiàn)上,有基于進(jìn)程和基于線(xiàn)程這兩種方式。
基于進(jìn)程的方式由于不需要任何創(chuàng)建線(xiàn)程的操作,所以速度較快。但是由于每個(gè)進(jìn)程所占用的資源比每個(gè)線(xiàn)程的要多,所以同樣一臺(tái)計(jì)算機(jī)上可以同時(shí)運(yùn)行的進(jìn)程數(shù)比線(xiàn)程數(shù)要少,因此其并行處理能力要弱于基于線(xiàn)程的方式。
應(yīng)用處理層技術(shù)多采用多線(xiàn)程技術(shù),基于線(xiàn)程技術(shù)并行處理的特點(diǎn),系統(tǒng)瓶頸依次是:CPU、內(nèi)存、磁盤(pán)子系統(tǒng)和網(wǎng)絡(luò)子系統(tǒng)。因此應(yīng)用服務(wù)節(jié)點(diǎn)需要有較強(qiáng)的處理能力,建議采用2~4路CPU,內(nèi)存為4~8GB,雙千兆網(wǎng)卡(支持網(wǎng)卡綁定,以便將來(lái)擴(kuò)展網(wǎng)絡(luò)帶寬)。應(yīng)用服務(wù)器也可以通過(guò)負(fù)載均衡集群來(lái)提高動(dòng)態(tài)內(nèi)容的處理能力。通過(guò)采用中間件技術(shù)可實(shí)現(xiàn)應(yīng)用服務(wù)器的高可用性及可伸縮性。
3、網(wǎng)站數(shù)據(jù)庫(kù)服務(wù)器(數(shù)據(jù)處理層)
數(shù)據(jù)處理層是一個(gè)中心存儲(chǔ)庫(kù),是業(yè)務(wù)應(yīng)用系統(tǒng)中所有數(shù)據(jù)資源的管理中心,因此要求具有較高的數(shù)據(jù)索引、數(shù)據(jù)讀取能力。數(shù)據(jù)庫(kù)是對(duì)系統(tǒng)各方面性能要求最高的應(yīng)用,需要高性能CPU和快速的磁盤(pán)子系統(tǒng)來(lái)滿(mǎn)足大量的隨機(jī)I/O請(qǐng)求及數(shù)據(jù)傳送。
系統(tǒng)瓶頸依次為:內(nèi)存、磁盤(pán)子系統(tǒng)和CPU。數(shù)據(jù)庫(kù)服務(wù)器建議配置為4路X86服務(wù)器,8GB內(nèi)存、2塊Ultra 320 SCSI 146GB硬盤(pán)(RAID1),以高性能的磁盤(pán)陣列(建議選用全光纖FC-FC磁盤(pán)陣列)提供海量的數(shù)據(jù)存儲(chǔ)能力。