很多人可能都覺得大型網(wǎng)站的架構(gòu)肯定是非常復(fù)雜的,而且開始建設(shè)時(shí)肯定花費(fèi)了很多功夫,其實(shí)大多數(shù)的大型網(wǎng)站都是從小網(wǎng)站發(fā)展起來的,其演變的過程是下面這樣的。
第一步、開始時(shí)其實(shí)只有一個(gè)服務(wù)器,在這個(gè)服務(wù)器上面可以容納下所有的數(shù)據(jù),文件,程序等,一般租用一個(gè)服務(wù)器,買一個(gè)域名就能建好一個(gè)網(wǎng)站了。
第二步、在網(wǎng)站的使用過程中,會(huì)產(chǎn)生越來越多的數(shù)據(jù),這樣可能只有一個(gè)服務(wù)器無法裝下所有數(shù)據(jù),于是需要增加服務(wù)器并且將數(shù)據(jù)進(jìn)行分離,一般會(huì)分離成應(yīng)用,文件以及數(shù)據(jù)這三個(gè)不同的服務(wù)器,三個(gè)服務(wù)器有著不同的性能需求,提供不同的功能。
第三步、在網(wǎng)站的架構(gòu)擴(kuò)展之后,還要提高用戶的訪問體驗(yàn),一般對(duì)網(wǎng)站進(jìn)行訪問會(huì)集中于百分之二十的數(shù)據(jù)上,而對(duì)于這些數(shù)據(jù)改善其緩存的性能,就能提高用戶訪問速度。
第四步、數(shù)據(jù)的緩存得到提升之后,訪問的壓力就能得到緩解,這樣對(duì)單一的服務(wù)器進(jìn)行訪問的請(qǐng)求會(huì)進(jìn)一步增加,這樣在高峰期單一的服務(wù)器就可能無法承受海量的數(shù)據(jù)處理,因此必須要解決這個(gè)問題,而通常解決這個(gè)問題的方法就是使用集群。
第五步、用戶量增加帶來的另一個(gè)問題就是數(shù)據(jù)庫(kù)負(fù)載,因此可以設(shè)置主從兩個(gè)服務(wù)器將數(shù)據(jù)的讀寫來分離開來,將主服務(wù)器數(shù)據(jù)同步的更新到從服務(wù)器,分散數(shù)據(jù)庫(kù)的壓力。
第六步、用戶增多后如果想要保持及時(shí)的響應(yīng),一般就要增加使用CDN以及反向代理這些手段,CDN通常部署于網(wǎng)絡(luò)服務(wù)的機(jī)房,而反向代理則會(huì)布局在中心的機(jī)房中。
第七步、隨著業(yè)務(wù)發(fā)展,需要增加更多的服務(wù)器來改善數(shù)據(jù)庫(kù),應(yīng)用,以及文件服務(wù)器的受到的壓力,一般會(huì)使用分布式的方式來進(jìn)行管理。
第八步、當(dāng)服務(wù)器變多,用戶訪問要達(dá)成準(zhǔn)確且省事的數(shù)據(jù)傳送,一般就需要使用搜索引擎以及NOSQL的方法,應(yīng)用這些方法就能是應(yīng)用的服務(wù)器快捷的訪問數(shù)據(jù)。
當(dāng)網(wǎng)站發(fā)展成為大型的之后,通常還會(huì)對(duì)于各業(yè)務(wù)進(jìn)行拆分,以購(gòu)物業(yè)務(wù)為例就而已拆分成首頁(yè),店鋪,訂單等幾個(gè)模塊,由不同團(tuán)隊(duì)進(jìn)行分別的部署及維護(hù)。
如沒特殊注明,文章均為凡客原創(chuàng),轉(zhuǎn)載請(qǐng)注明來自??2295.html