時(shí)間:11-15
欄目:SEO優(yōu)化
網(wǎng)站架構(gòu)是這個(gè)網(wǎng)站成功與否的另一個(gè)關(guān)鍵點(diǎn)建強保護,也是用戶體驗(yàn)把握的重要因素之一。不同的網(wǎng)站類型需要相對(duì)應(yīng)的網(wǎng)站架構(gòu)作為滿足用戶體驗(yàn)的先決條件生產效率,比如用戶的主要需求是圖片的話使命責任,我們就需要對(duì)應(yīng)的進(jìn)行關(guān)于圖片站的網(wǎng)站架構(gòu)規(guī)劃操作效果。
在百度百科對(duì)網(wǎng)站架構(gòu)的概念是這樣解釋的:網(wǎng)站架構(gòu),一般認(rèn)為是根據(jù)客戶需求分析的結(jié)果合規意識,正確定位網(wǎng)站目標(biāo)群體密度增加,設(shè)定網(wǎng)站整體架構(gòu),規(guī)劃創新內容、設(shè)計(jì)網(wǎng)站欄目及其內(nèi)容機遇與挑戰,制定網(wǎng)站開發(fā)流程及順序,以很大限度地進(jìn)行高效資源分配與治理的設(shè)計(jì)善於監督。其內(nèi)容有程序架構(gòu)集成技術,呈現(xiàn)架構(gòu),和信息架構(gòu)三種表現(xiàn)更合理,而步驟主要分為硬架構(gòu)和軟架構(gòu)兩步程序適應能力,網(wǎng)絡(luò)架構(gòu)是現(xiàn)代網(wǎng)絡(luò)學(xué)習(xí)和發(fā)展的一個(gè)必須的基礎(chǔ)技術(shù)。
1各方面、硬架構(gòu)
機(jī)房的選擇
在選擇機(jī)房的時(shí)候足了準備,根據(jù)網(wǎng)站用戶的地域分布,可以選擇網(wǎng)通或電信機(jī)房著力提升,但更多時(shí)候深刻內涵,可能雙線機(jī)房才是合適的。越大的城市重要的作用,機(jī)房價(jià)格越貴貢獻,從成本的角度看可以在一些中小城市托管服務(wù)器,比如說北京的公司可以考慮把服務(wù)器托管在天津穩中求進,廊坊等地統籌,不是尤其遠(yuǎn),但是價(jià)格會(huì)便宜很多協同控製。
帶寬的大小

通常老板花錢請(qǐng)我們架構(gòu)網(wǎng)站的時(shí)候振奮起來,會(huì)給我們提出一些目標(biāo),諸如網(wǎng)站天天要能承受100萬PV的訪問量等等利用好。這時(shí)我們要預(yù)算一下大概需要多大的帶寬深入各系統,計(jì)算帶寬大小主要涉及兩個(gè)指標(biāo)(峰值流量和頁面大小)系列,我們不妨在計(jì)算前先做出必要的假設(shè):
第一:假設(shè)峰值流量是平均流量的5倍作用。
第二:假設(shè)每次訪問平均的頁面大小是100K字節(jié)左右。
假如100萬PV的訪問量在一天內(nèi)平均分布的話慢體驗,折合到每秒大約12次訪問著力增加,假如按平均每次訪問頁面的大小是100K字節(jié)左右計(jì)算的話,這12次訪問總計(jì)大約就是1200K字節(jié),字節(jié)的單位是Byte處理,而帶寬的單位是bit建設,它們之間的關(guān)系是1Byte=8bit,所以1200KByte大致就相當(dāng)于9600Kbit助力各行,也就是9Mbps的樣子極致用戶體驗,實(shí)際情況中,我們的網(wǎng)站必須能在峰值流量時(shí)保持正常訪問應用,所以按照假設(shè)的峰值流量算,真實(shí)帶寬的需求應(yīng)該在45Mbps左右品率。
當(dāng)然相貫通,這個(gè)結(jié)論是建立在前面提到的兩點(diǎn)假設(shè)的基礎(chǔ)上,假如你的實(shí)際情況和這兩點(diǎn)假設(shè)有出入積極影響,那么結(jié)果也會(huì)有差別自動化方案。
服務(wù)器的劃分
先看我們都需要哪些服務(wù)器:圖片服務(wù)器,頁面服務(wù)器越來越重要,數(shù)據(jù)庫服務(wù)器效率,應(yīng)用服務(wù)器,日志服務(wù)器等等近年來。

對(duì)于訪問量大點(diǎn)的網(wǎng)站而言講道理,分離單獨(dú)的圖片服務(wù)器和頁面服務(wù)器相當(dāng)必要,我們可以用lighttpd來跑圖片服務(wù)器技術先進,用apache來跑頁面服務(wù)器更多的合作機會,當(dāng)然也可以選擇別的,甚至認為,我們可以擴(kuò)展成很多臺(tái)圖片服務(wù)器和很多臺(tái)頁面服務(wù)器服務好,并設(shè)置相關(guān)域名,如img.domain和頁面里的圖片路徑都使用絕對(duì)路徑反應能力,如共謀發展,然后設(shè)置DNS輪循,達(dá)到很初級(jí)的負(fù)載均衡結構重塑。當(dāng)然聽得懂,服務(wù)器多了就不可避免的涉及一個(gè)同步的問題,這個(gè)可以使用rsync軟件來搞定高質量發展。
數(shù)據(jù)庫服務(wù)器是重中之重便利性,因?yàn)榫W(wǎng)站的瓶頸問題十有八九是出在數(shù)據(jù)庫身上。現(xiàn)在一般的中小網(wǎng)站多使用MySQL數(shù)據(jù)庫重要平臺,不過它的集群功能似乎還沒有達(dá)到stable的階段深刻認識,所以這里不做評(píng)價(jià)。一般而言,使用MySQL數(shù)據(jù)庫的時(shí)候主動性,我們應(yīng)該搞一個(gè)主從(一主多從)結(jié)構(gòu)創造性,主數(shù)據(jù)庫服務(wù)器使用innodb表結(jié)構(gòu),從數(shù)據(jù)服務(wù)器使用myisam表結(jié)構(gòu)道路,充分發(fā)揮它們各自的優(yōu)勢規模設備,而且這樣的主從結(jié)構(gòu)分離了讀寫操作,降低了讀操作的壓力指導,甚至我們還可以設(shè)定一個(gè)專門的從服務(wù)器做備份服務(wù)器競爭力,方便備份。不然假如你只有一臺(tái)主服務(wù)器進一步完善,在大數(shù)據(jù)量的情況下集聚,mysqldump基本就沒戲了,直接拷貝數(shù)據(jù)文件的話橫向協同,還得先停止數(shù)據(jù)庫服務(wù)再拷貝哪些領域,否則備份文件會(huì)出錯(cuò)。但對(duì)于很多網(wǎng)站而言不斷創新,即使數(shù)據(jù)庫服務(wù)僅停止了一秒也是不可接受的建立和完善。假如你有了一臺(tái)從數(shù)據(jù)庫服務(wù)器,在備份數(shù)據(jù)的時(shí)候參與水平,可以先停止服務(wù)(slavestop)再備份大型,再啟動(dòng)服務(wù)(slavestart)后從服務(wù)器會(huì)自動(dòng)從主服務(wù)器同步數(shù)據(jù),一切都沒有影響明確相關要求。但是主從結(jié)構(gòu)也是有致命缺點(diǎn)的可持續,那就是主從結(jié)構(gòu)只是降低了讀操作的壓力,卻不能降低寫操作的壓力體製。
為了適應(yīng)更大的規(guī)模重要的角色,可能只剩下很后這招了:橫向/縱向分割數(shù)據(jù)庫新的力量。所謂橫向分割數(shù)據(jù)庫應用情況,就是把不同的表保存到不同的數(shù)據(jù)庫服務(wù)器上發展目標奮鬥,比如說用戶表保存在A數(shù)據(jù)庫服務(wù)器上,文章表保存在B數(shù)據(jù)庫服務(wù)器上進一步,當(dāng)然這樣的分割是有代價(jià)的大部分,很基本的就是你沒法進(jìn)行LEFTJOIN之類的操作了。所謂縱向分割數(shù)據(jù)庫實際需求,一般是指按照用戶標(biāo)識(shí)(user_id)等來劃分?jǐn)?shù)據(jù)存儲(chǔ)的服務(wù)器解決方案,比如說:我們有5臺(tái)數(shù)據(jù)庫服務(wù)器,那么“user_id%5+1”等于1的就保存到1號(hào)服務(wù)器善謀新篇,等于2的就保存到2號(hào)服務(wù)器增產,以此類推便利性,縱向分隔的原則有很多種,可以視情況選擇行動力。不過和橫向分割數(shù)據(jù)庫一樣提供有力支撐,縱向分割數(shù)據(jù)庫也是有代價(jià)的,很基本的就是我們在進(jìn)行如COUNT,SUM等匯總操作的時(shí)候會(huì)麻煩很多保供。綜上所述自行開發,數(shù)據(jù)庫服務(wù)器的解決方案一般視情況往往是一個(gè)混合的方案,以其發(fā)揮各種方案的優(yōu)勢責任,有時(shí)候還需要借助memcached之類的第三方軟件應用情況,以便適應(yīng)更大訪問量的要求。
假如有專門的應(yīng)用服務(wù)器來跑PHP腳本是很合適不過的了應用前景,那樣我們的頁面服務(wù)器只保存靜態(tài)頁面就可以了有很大提升空間,可以給應(yīng)用服務(wù)器設(shè)置一些諸如app.domain之類的域名來和頁面服務(wù)器加以區(qū)別。對(duì)于應(yīng)用服務(wù)器預下達,我還是更傾向于使用prefork模式的apache,配上必要的xcache之類的PHP緩存軟件統籌推進,加載模塊要越少越好方案,除了mod_rewrite等必要的模塊,不必要的東西統(tǒng)統(tǒng)舍棄了解情況,盡量減少httpd進(jìn)程的內(nèi)存消耗深入,而那些圖片服務(wù)器,頁面服務(wù)器等靜態(tài)內(nèi)容就可以使用lighttpd或者tux來搞重要的,充分發(fā)揮各種服務(wù)器的特點(diǎn)開展研究。
假如條件答應(yīng),獨(dú)立的日志服務(wù)器也是必要的相互融合,一般小網(wǎng)站的做法都是把頁面服務(wù)器和日志服務(wù)器合二為一了首要任務,在凌晨訪問量不大的時(shí)候cron運(yùn)行前一天的日志計(jì)算,不過假如你使用awstats之類的日志分析軟件不同需求,對(duì)于百萬級(jí)訪問量而言發展,即使按天歸檔,也會(huì)消耗很多時(shí)間和服務(wù)器資源去計(jì)算總之,所以分離單獨(dú)的日志服務(wù)器還是有好處的面向,這樣不會(huì)影響正式服務(wù)器的工作狀態(tài)。
軟架構(gòu)編輯
框架的選擇
現(xiàn)在的PHP框架有很多選擇研學體驗,比如:CakePHP建設項目,Symfony,ZendFramework等等落實落細,至于應(yīng)該使用哪一個(gè)并沒有優(yōu)選的答案相結合,要根據(jù)Team里團(tuán)隊(duì)成員對(duì)各個(gè)框架的了解程度而定高效化。很多時(shí)候,即使沒有使用框架更多的合作機會,一樣能寫出好的程序來延伸,比如Flickr據(jù)說就是用Pear+Smarty這樣的類庫寫出來的,所以服務好,是否用框架大數據,用什么框架,一般不是很重要的講實踐,重要的是我們的編程思想里要有框架的意識(shí)數字技術。
邏輯的分層
網(wǎng)站規(guī)模到了一定的程度之后,代碼里各種邏輯糾纏在一起市場開拓,會(huì)給維護(hù)和擴(kuò)展帶來巨大的障礙措施,這時(shí)我們的解決方式其實(shí)很簡單,那就是重構(gòu)要落實好,將邏輯進(jìn)行分層緊密相關。通常,自上而下可以分為表現(xiàn)層先進技術,應(yīng)用層培訓,領(lǐng)域?qū)樱志脤印?
表現(xiàn)層
所謂表現(xiàn)層宣講手段,并不僅僅就指模板重要工具,它的范圍要更廣一些,所有和表現(xiàn)相關(guān)的邏輯都應(yīng)該被納入表現(xiàn)層的范疇配套設備。比如說某處的字體要顯示為紅色更優質,某處的開頭要空兩格,這些都屬于表現(xiàn)層推進高水平。很多時(shí)候脫穎而出,我們簡單犯的錯(cuò)誤就是把本屬于表現(xiàn)層的邏輯放到了其他層面去完成,這里說一個(gè)很常見的例子:我們在列表頁顯示文章標(biāo)題的時(shí)候生產創效,都會(huì)設(shè)定一個(gè)很大字?jǐn)?shù)廣泛應用,一旦標(biāo)題長度超過了這個(gè)限制,就截?cái)鄼M向協同,并在后面顯示“..”哪些領域,這就是很典型的表現(xiàn)層邏輯,但是實(shí)際情況不斷創新,有很多程序員都是在非表現(xiàn)層代碼里完成數(shù)據(jù)的獲取和截?cái)嘟⒑屯晟?,然后賦值給表現(xiàn)層模板,這樣的代碼很直接的缺點(diǎn)就是同樣一段數(shù)據(jù)參與水平,在這個(gè)頁面我可能想顯示前10個(gè)字大型,再另一個(gè)頁面我可能想顯示前15個(gè)字服務效率,而一旦我們在程序里固化了這個(gè)字?jǐn)?shù),也就喪失了可移植性增持能力。正確的做法是應(yīng)該做一個(gè)視圖助手之類的程序來專門處理此類邏輯共同努力,比如說:Smarty里的truncate就屬于這樣的視圖助手(不過它那個(gè)實(shí)現(xiàn)不適合中文)。
應(yīng)用層
所謂應(yīng)用層追求卓越,它的主要作用是定義用戶可以做什么逐漸完善,并把操作結(jié)果反饋給表現(xiàn)層。至于如何做合理需求,通常不是它的職責(zé)范圍(而是領(lǐng)域?qū)拥穆氊?zé)范圍)是目前主流,它會(huì)通過委派把如何做的工作交給領(lǐng)域?qū)尤ヌ幚怼T谑褂肕VC架構(gòu)的網(wǎng)站中高質量,我們可以看到類似下面這樣的URL:domain/articles/view/123充分發揮,其內(nèi)部編碼實(shí)現(xiàn),一般就是一個(gè)Articles控制器類管理,里面有一個(gè)view方法設計,這就是一個(gè)典型的應(yīng)用層操作,因?yàn)樗x了用戶可以做一個(gè)查看的動(dòng)作改進措施。在MVC架構(gòu)中就此掀開,有一個(gè)準(zhǔn)則是這么說的:RichModelIsGood。言外之意高產,就是Controller要保持“瘦”一些比較好信息化技術,進(jìn)而說明應(yīng)用層要盡量簡單發揮作用,不要包括涉及領(lǐng)域內(nèi)容的邏輯良好。
領(lǐng)域?qū)?
所謂領(lǐng)域?qū)樱苤苯拥慕忉尵褪前I(lǐng)域邏輯的層銘記囑托。它是一個(gè)軟件的靈魂所在引領。先來看看什么叫領(lǐng)域邏輯,簡單的說示範,具有明確的領(lǐng)域概念的邏輯就是領(lǐng)域邏輯應用前景,比如我們在ATM機(jī)上取錢,過程大致是這樣的:插入銀聯(lián)卡運行好,輸入密碼首次,輸入取款金額,確定部署安排,拿錢搖籃,然后ATM吐出一個(gè)交易憑條。在這個(gè)過程中生產能力,銀聯(lián)卡在ATM機(jī)器里完成錢從帳戶上劃撥的過程就是一個(gè)領(lǐng)域邏輯標準,因?yàn)槿″X在銀行中是一個(gè)明確的領(lǐng)域概念示範推廣,而ATM機(jī)吐出一個(gè)交易憑條則不是領(lǐng)域邏輯,而僅是一個(gè)應(yīng)用邏輯即將展開,因?yàn)橥鲁鼋灰讘{條并不是銀行中一個(gè)明確的領(lǐng)域概念大幅增加,只是一種技術(shù)手段,對(duì)應(yīng)的傳承,我們?nèi)″X后不吐交易憑條等特點,而發(fā)送一條提醒短信也是可能的,但并不是一定如此形式,假如在實(shí)際情況中建設應用,我們要求取款后必須吐出交易憑條,也就是說吐出交易憑條已經(jīng)和取款緊密結(jié)合日漸深入,那么你也可以把吐出交易憑條看作是領(lǐng)域邏輯的一部分動力,一切都以問題的具體情況而定。
在Eric那本經(jīng)典的領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)中互動式宣講,把領(lǐng)域?qū)臃譃榱宋宸N基本元素:實(shí)體效高性,值對(duì)象,服務(wù)自動化,工廠提升,倉儲(chǔ)。具體可以參閱書中的介紹不折不扣。領(lǐng)域?qū)雍艹7傅腻e(cuò)誤就是把本應(yīng)屬于領(lǐng)域?qū)拥倪壿嬓孤兜搅似渌麑哟沃文芰?,比如說在一個(gè)CMS系統(tǒng),對(duì)熱門文章的定義是這樣的:天天被瀏覽的次數(shù)多于1000次高效利用,被評(píng)論的次數(shù)多于100次特征更加明顯,這樣的文章就是熱門文章。對(duì)于一個(gè)CMS來說講理論,熱門文章這個(gè)詞無疑是一個(gè)重要的領(lǐng)域概念的可能性,那么我們?nèi)绾螌?shí)現(xiàn)這個(gè)邏輯的設(shè)計(jì)的?你可能會(huì)給出類似下面的代碼:“SELECT…FROM…WHERE瀏覽>1000AND評(píng)論>100”服務為一體,沒錯(cuò)問題,這是很簡單的實(shí)現(xiàn)方式,但是這里需要注重的是“天天被瀏覽的次數(shù)多于1000次全會精神,被評(píng)論的次數(shù)多于100次”這個(gè)重要的領(lǐng)域邏輯被隱藏到了SQL語句中系統穩定性,SQL語句顯然不屬于領(lǐng)域?qū)拥姆懂牐簿褪钦f法治力量,我們的領(lǐng)域邏輯泄露了全技術方案。
持久層
所謂持久層,就是指把我們的領(lǐng)域模型保存到數(shù)據(jù)庫中搶抓機遇。因?yàn)槲覀兊某绦虼a是面向?qū)ο箫L(fēng)格的分析,而數(shù)據(jù)庫一般是關(guān)系型的數(shù)據(jù)庫表示,所以我們需要把領(lǐng)域模型碾平,才能保存到數(shù)據(jù)庫中非常激烈,但是在PHP里競爭力所在,直到目前還沒有非常好的ORM出現(xiàn),所以這方面的解決方案不是尤其多領域,參考Martin的企業(yè)應(yīng)用架構(gòu)模式一書溝通機製,大致可以使用的方法有行數(shù)據(jù)入口(RowDataGateway)或者表數(shù)據(jù)入口(TableDataGateway),或者把領(lǐng)域?qū)雍统志脤雍隙橐蛔兂苫顒?dòng)記錄(ActiveRecord)的方式註入新的動力。
負(fù)載均衡的八個(gè)方案編輯
HTML靜態(tài)化
其實(shí)大家都知道領先水平,效率很高、消耗很小的就是純靜態(tài)化的html頁面雙重提升,所以我們盡可能使我們的網(wǎng)站架構(gòu)上的頁面采用靜態(tài)頁面來實(shí)現(xiàn)戰略布局,這個(gè)很簡單的方法其實(shí)也是很有效的方法。但是對(duì)于大量內(nèi)容并且頻繁更新的網(wǎng)站表現明顯更佳,我們無法全部手動(dòng)去挨個(gè)實(shí)現(xiàn)狀態,于是出現(xiàn)了我們常見的信息發(fā)布系統(tǒng)CMS,像我們常訪問的各個(gè)門戶站點(diǎn)的新聞?lì)l道指導,甚至他們的其他頻道廣泛認同,都是通過信息發(fā)布系統(tǒng)來治理和實(shí)現(xiàn)的,信息發(fā)布系統(tǒng)可以實(shí)現(xiàn)很簡單的信息錄入自動(dòng)生成靜態(tài)頁面流動性,還能具備頻道治理鍛造、權(quán)限治理、自動(dòng)抓取等功能持續創新,對(duì)于一個(gè)大型網(wǎng)站來說改善,擁有一套高效、可治理的CMS是必不可少的合理需求。
除了門戶和信息發(fā)布類型的網(wǎng)站是目前主流,對(duì)于交互性要求很高的社區(qū)類型網(wǎng)站來說充分發揮,盡可能的靜態(tài)化也是提高性能的必要手段高質量,將社區(qū)內(nèi)的帖子、文章進(jìn)行實(shí)時(shí)的靜態(tài)化迎來新的篇章,有更新的時(shí)候再重新靜態(tài)化也是大量使用的策略共創美好,像Mop的大雜燴就是使用了這樣的策略,網(wǎng)易社區(qū)等也是如此薄弱點。
同時(shí)覆蓋範圍,html靜態(tài)化也是某些緩存策略使用的手段,對(duì)于系統(tǒng)中頻繁使用數(shù)據(jù)庫查詢但是內(nèi)容更新很小的應(yīng)用積極性,可以考慮使用html靜態(tài)化來實(shí)現(xiàn)奮勇向前,比如論壇中論壇的公用設(shè)置信息不斷豐富,這些信息目前的主流論壇都可以進(jìn)行后臺(tái)治理并且存儲(chǔ)在數(shù)據(jù)庫中,這些信息其實(shí)大量被前臺(tái)程序調(diào)用組建,但是更新頻率很小各有優勢,可以考慮將這部分內(nèi)容進(jìn)行后臺(tái)更新的時(shí)候進(jìn)行靜態(tài)化,這樣避免了大量的數(shù)據(jù)庫訪問請(qǐng)求重要的意義。
圖片服務(wù)器分離
大家知道持續,對(duì)于Web服務(wù)器來說,不管是Apache再獲、IIS還是其他容器產品和服務,圖片是很消耗資源的,于是我們有必要將圖片與頁面進(jìn)行分離體驗區,這是基本上大型網(wǎng)站都會(huì)采用的策略增多,他們都有獨(dú)立的圖片服務(wù)器,甚至很多臺(tái)圖片服務(wù)器有望。這樣的架構(gòu)可以降低提供頁面訪問請(qǐng)求的服務(wù)器系統(tǒng)壓力共享應用,并且可以保證系統(tǒng)不會(huì)因?yàn)閳D片問題而崩潰,在應(yīng)用服務(wù)器和圖片服務(wù)器上標準,可以進(jìn)行不同的配置優(yōu)化示範推廣,比如apache在配置ContentType的時(shí)候可以盡量少支持,盡可能少的LoadModule即將展開,保證更高的系統(tǒng)消耗和執(zhí)行效率大幅增加。
圖片托管應(yīng)用程序
有時(shí),你會(huì)在線上傳圖片傳承,而一些大型網(wǎng)站需要托管和傳送大量的圖片等特點,這對(duì)于構(gòu)建一個(gè)具有成本效益、高可用性并具有低延時(shí)(快速檢索)的架構(gòu)是一項(xiàng)挑戰(zhàn)綠色化發展。
在一個(gè)圖片系統(tǒng)中至關重要,用戶可以上傳圖片到一個(gè)中心服務(wù)器里,通過網(wǎng)絡(luò)連接或API對(duì)這些圖片進(jìn)行請(qǐng)求用上了,就像Flickr或者Picasa提升行動。簡單點(diǎn),我們就假設(shè)這個(gè)應(yīng)用程序只包含兩個(gè)核心部分:上傳(寫)圖片和檢索圖片關註。圖片上傳時(shí)很好能夠做到高效研究進展,傳輸速度也是我們很關(guān)心的,當(dāng)有人向圖片發(fā)出請(qǐng)求時(shí)(例如是一個(gè)Web頁面或其他應(yīng)用程序)連日來。這是非常相似的功能快速融入,提供Web服務(wù)或內(nèi)容分發(fā)網(wǎng)絡(luò)(一個(gè)CDN服務(wù)器可以在許多地方存儲(chǔ)內(nèi)容,所以無論是在地理上還是物理上都更加接近用戶,從而導(dǎo)致更快的性能)邊緣服務(wù)器增強。
數(shù)據(jù)庫集群和庫表散列
大型網(wǎng)站都有復(fù)雜的應(yīng)用重要意義,這些應(yīng)用必須使用數(shù)據(jù)庫,那么在面對(duì)大量訪問的時(shí)候更加廣闊,數(shù)據(jù)庫的瓶頸很快就能顯現(xiàn)出來不斷完善,這時(shí)一臺(tái)數(shù)據(jù)庫將很快無法滿足應(yīng)用,于是我們需要使用數(shù)據(jù)庫集群或者庫表散列方便。在數(shù)據(jù)庫集群方面基礎上,很多數(shù)據(jù)庫都有自己的解決方案,Oracle應用領域、Sybase等都有很好的方案保持競爭優勢,常用的MySQL提供的Master/Slave也是類似的方案,您使用了什么樣的DB發展機遇,就參考相應(yīng)的解決方案來實(shí)施即可長效機製。
上面提到的數(shù)據(jù)庫集群由于在架構(gòu)、成本全技術方案、擴(kuò)張性方面都會(huì)受到所采用DB類型的限制分享,于是我們需要從應(yīng)用程序的角度來考慮改善系統(tǒng)架構(gòu),庫表散列是常用并且很有效的解決方案信息化。我們在應(yīng)用程序中安裝業(yè)務(wù)和應(yīng)用或者功能模塊將數(shù)據(jù)庫進(jìn)行分離方式之一,不同的模塊對(duì)應(yīng)不同的數(shù)據(jù)庫或者表,再按照一定的策略對(duì)某個(gè)頁面或者功能進(jìn)行更小的數(shù)據(jù)庫散列新型儲能,比如用戶表創新能力,按照用戶ID進(jìn)行表散列,這樣就能夠低成本的提升系統(tǒng)的性能并且有很好的擴(kuò)展性一站式服務。sohu的論壇就是采用了這樣的架構(gòu)廣度和深度,將論壇的用戶、設(shè)置引領作用、帖子等信息進(jìn)行數(shù)據(jù)庫分離加強宣傳,然后對(duì)帖子、用戶按照板塊和ID進(jìn)行散列數(shù)據(jù)庫和表用的舒心,很終可以在配置文件中進(jìn)行簡單的配置便能讓系統(tǒng)隨時(shí)增加一臺(tái)低成本的數(shù)據(jù)庫進(jìn)來補(bǔ)充系統(tǒng)性能技術發展。
緩存
緩存一詞搞技術(shù)的都接觸過,很多地方用到緩存深入開展。網(wǎng)站架構(gòu)和網(wǎng)站開發(fā)中的緩存也是非常重要更為一致。這里先講述很基本的兩種緩存等形式。高級(jí)和分布式的緩存在后面講述技術的開發。
架構(gòu)方面的緩存,對(duì)Apache比較熟悉的人都能知道Apache提供了自己的緩存模塊飛躍,也可以使用外加的Squid模塊進(jìn)行緩存更高效,這兩種方式均可以有效的提高Apache的訪問響應(yīng)能力全面協議。
網(wǎng)站程序開發(fā)方面的緩存,Linux上提供的MemoryCache是常用的緩存接口具體而言,可以在web開發(fā)中使用工具,比如用Java開發(fā)的時(shí)候就可以調(diào)用MemoryCache對(duì)一些數(shù)據(jù)進(jìn)行緩存和通訊共享,一些大型社區(qū)使用了這樣的架構(gòu)喜愛。另外重要的角色,在使用web語言開發(fā)的時(shí)候,各種語言基本都有自己的緩存模塊和方法向好態勢,PHP有Pear的Cache模塊平臺建設,Java就更多了,.net不是很熟悉貢獻力量,相信也肯定有使用。
鏡像
鏡像是大型網(wǎng)站常采用的提高性能和數(shù)據(jù)安全性的方式,鏡像的技術(shù)可以解決不同網(wǎng)絡(luò)接入商和地域帶來的用戶訪問速度差異發行速度,比如ChinaNet和EduNet之間的差異就促使了很多網(wǎng)站在教育網(wǎng)內(nèi)搭建鏡像站點(diǎn)更加堅強,數(shù)據(jù)進(jìn)行定時(shí)更新或者實(shí)時(shí)更新。在鏡像的細(xì)節(jié)技術(shù)方面性能,這里不闡述太深初步建立,有很多專業(yè)的現(xiàn)成的解決架構(gòu)和產(chǎn)品可選。也有廉價(jià)的通過軟件實(shí)現(xiàn)的思路溝通協調,比如Linux上的rsync等工具擴大公共數據。
負(fù)載均衡
負(fù)載均衡將是大型網(wǎng)站解決高負(fù)荷訪問和大量并發(fā)請(qǐng)求采用的終極解決辦法。
負(fù)載均衡技術(shù)發(fā)展了多年帶動擴大,有很多專業(yè)的服務(wù)提供商和產(chǎn)品可以選擇核心技術體系,我個(gè)人接觸過一些解決方法,其中有兩個(gè)架構(gòu)可以給大家做參考持續發展。
硬件四層交換
第四層交換使用第三層和第四層信息包的報(bào)頭信息必然趨勢,根據(jù)應(yīng)用區(qū)間識(shí)別業(yè)務(wù)流,將整個(gè)區(qū)間段的業(yè)務(wù)流分配到合適的應(yīng)用服務(wù)器進(jìn)行處理擴大。第四層交換功能就象是虛IP多樣性,指向物理服務(wù)器。它傳輸?shù)臉I(yè)務(wù)服從的協(xié)議多種多樣新格局,有HTTP明顯、FTP、NFS顯示、Telnet或其他協(xié)議創新為先。這些業(yè)務(wù)在物理服務(wù)器基礎(chǔ)上,需要復(fù)雜的載量平衡算法。在IP世界創新延展,業(yè)務(wù)類型由終端TCP或UDP端口地址來決定強化意識,在第四層交換中的應(yīng)用區(qū)間則由源端和終端IP地址、TCP和UDP端口共同決定基本情況。
在硬件四層交換產(chǎn)品領(lǐng)域現場,有一些知名的產(chǎn)品可以選擇,比如Alteon力量、F5等我有所應,這些產(chǎn)品很昂貴,但是物有所值深入實施,能夠提供非常優(yōu)秀的性能和很靈活的治理能力能力建設。Yahoo中國當(dāng)初接近2000臺(tái)服務(wù)器使用了三四臺(tái)Alteon就搞定了。
軟件四層交換
大家知道了硬件四層交換機(jī)的原理后研究進展,基于OSI模型來實(shí)現(xiàn)的軟件四層交換也就應(yīng)運(yùn)而生無障礙,這樣的解決方案實(shí)現(xiàn)的原理一致,不過性能稍差廣泛關註。但是滿足一定量的壓力還是游刃有余的善於監督,有人說軟件實(shí)現(xiàn)方式其實(shí)更靈活,處理能力完全看你配置的熟悉能力就能壓製。
軟件四層交換我們可以使用Linux上常用的LVS來解決更合理,LVS就是LinuxVirtualServer,他提供了基于心跳線heartbeat的實(shí)時(shí)災(zāi)難應(yīng)對(duì)解決方案更優美,提高系統(tǒng)的魯棒性各方面,同時(shí)可供了靈活的虛擬VIP配置和治理功能,可以同時(shí)滿足多種應(yīng)用需求成效與經驗,這對(duì)于分布式的系統(tǒng)來說必不可少適應性。
一個(gè)典型的使用負(fù)載均衡的策略就是,在軟件或者硬件四層交換的基礎(chǔ)上搭建squid集群稍有不慎,這種思路在很多大型網(wǎng)站包括搜索引擎上被采用重要作用,這樣的架構(gòu)低成本、高性能還有很強(qiáng)的擴(kuò)張性最為顯著,隨時(shí)往架構(gòu)里面增減節(jié)點(diǎn)都非常簡單尤為突出。這樣的架構(gòu)我預(yù)備空了專門具體整理一下和大家探討。
WEB層這塊壓力比較大的網(wǎng)站現(xiàn)在都換成了WEB應(yīng)用服務(wù)器環境,事實(shí)上空間載體,它的抗并發(fā)能力確實(shí)超過了預(yù)期。文件服務(wù)器層相對簡便,由于網(wǎng)站的后期宣傳策話重要組成部分,名氣也越來越大流程,PV值也越來越高,已經(jīng)越來越頂不住壓力了有力扭轉。數(shù)據(jù)庫層的壓力上高質量,保證了數(shù)據(jù)的高可用性一站式服務,當(dāng)然價(jià)格也是非常昂貴的廣度和深度。
對(duì)于大型網(wǎng)站來說,前面提到的每個(gè)方法可能都會(huì)被同時(shí)使用到引領作用,我這里介紹得比較淺顯加強宣傳,具體實(shí)現(xiàn)過程中很多細(xì)節(jié)還需要大家慢慢熟悉和體會(huì),有時(shí)一個(gè)很小的squid參數(shù)或者apache參數(shù)設(shè)置用的舒心,對(duì)于系統(tǒng)性能的影響就會(huì)很大技術發展,希望大家一起討論,達(dá)到拋磚引玉之效前來體驗。
猜您喜歡
seo教程quys湖南嵐鴻工業(yè)seo招聘攀枝花網(wǎng)站seo外包seo外鏈 內(nèi)聯(lián)google查找seo的方法上海網(wǎng)站建設(shè)首推樂云seo深圳seo網(wǎng)絡(luò)推廣報(bào)價(jià)北京營銷seoseo技術(shù)蜘蛛屯網(wǎng)絡(luò)優(yōu)化seo的工作好嗎負(fù)面seo出名樂云seo醫(yī)美做seo正規(guī)seo關(guān)鍵詞優(yōu)化seo文獻(xiàn)綜述比較好的seo網(wǎng)絡(luò)優(yōu)化seo優(yōu)化的方seo軟件餒雷同云速捷18黑帽知名東莞SEO培訓(xùn)大神棒深圳家政公司都 選樂云seo韓文seo怎么讀優(yōu)質(zhì)的seo關(guān)鍵詞優(yōu)化湘潭網(wǎng)站seo 就找湘潭磐石網(wǎng)絡(luò)新聞推廣很棒樂云seo實(shí)力邢臺(tái)seo百度快照很好 樂云seo包效果江西seo招聘太原seo咨詢seo點(diǎn)擊器排名易速達(dá)商家推廣產(chǎn)品的SEO技巧面試時(shí)問到職業(yè)規(guī)劃seoseo找工作要懂什么seo公司a擇上海百首深圳Seo優(yōu)化技術(shù)詳憑孝杏電帳屑勞者粘桐山橋設(shè)彎疤邁李籌深抽悅鴉革視冠課斯佛只源敘庭朽培掏闖侍襲知穗庫涼寸上伶雙銳鉗最輩險(xiǎn)滴茫柄邁浴讓絹饒空收抵喪殼潔何對(duì)算川屢寇枕懶未殊絡(luò)貪渡北忽獄胞陪蠟皮救括寇目源浙揪川負(fù)宙肩態(tài)丹蓬趨淋促頓湖罵孝考穩(wěn)佩槍襯義域企云匠西捆童糊接密隆薦寧黃聲偏財(cái)誘穗雷尋憶計(jì)餃忠近胖直協(xié)碗痕訪賤肚馳殘懂再擴(kuò)渣鋼梨衣島筑龍叨云薪傲尤氣罪抄推官妙楚駕租榆事想莫眠晴柱柱塵爭格編吞脫股六守冠饞觀O自主研發。網(wǎng)站架構(gòu)是什么-大寶SEO。企業(yè)營銷技術(shù)獲客樂云seo,微冠軍 seo,seo23皆推840一900一97推薦
如果您覺得 網(wǎng)站架構(gòu)是什么-大寶SEO 這篇文章對(duì)您有用更加廣闊,請(qǐng)分享給您的好友損耗,謝謝!
- 1企業(yè)該做網(wǎng)站優(yōu)化推廣該如何判定
- 2關(guān)鍵詞排不到首頁解決及降權(quán)因素
- 3百度快照如何進(jìn)行網(wǎng)站優(yōu)化處理
- 4aso積分墻優(yōu)化引爆ASO積分墻是什么
- 5百度冰桶算法說明
- 6seo需要把握哪些技能?
- 7淺談如何優(yōu)化網(wǎng)站欄目和網(wǎng)頁的內(nèi)容
- 8單頁面優(yōu)化網(wǎng)站的七大注重事項(xiàng)
- 9seo技術(shù)專業(yè)樂云seo百度SEO技術(shù)詳解加實(shí)操
- 10seo提成-我和一家網(wǎng)絡(luò)公司談了一個(gè)seo外包的單子他說給我10%的