當(dāng)互聯(lián)網(wǎng)吵吵嚷嚷的進入2.0時代,當(dāng)互聯(lián)網(wǎng)的技術(shù)不再是那么高不可攀,當(dāng)復(fù)制變成家常便飯,互聯(lián)網(wǎng)熱鬧起來了
myspace火了,中國冒出更多的myspace youtube剛剛起來,中國的視頻網(wǎng)站就遍地開花 51拔地而起,中國出了無數(shù)的SNS facebook則改變了中國站長的抄襲方式,不再學(xué)chianren了,校內(nèi)火了
當(dāng)抄襲變成習(xí)慣,我想說的是,模仿,站長,你準(zhǔn)備好了嗎?
如果你打算做垃圾站,或者賺點廣告費的網(wǎng)站,請不要點擊這篇文章,我從技術(shù)角度方面談?wù)刉EB2.0網(wǎng)站的模仿問題。
當(dāng)投資和流量都不是問題的時候,我想說的是,您真的一帆風(fēng)順嗎?
拿SNS網(wǎng)站來說,當(dāng)匆匆上線的2.0,當(dāng)一筆筆投資砸進去的時候,當(dāng)流量上去的時候,您的困惑在什么地方?
我做過多個2.0公司的技術(shù)顧問,簡單的談?wù)?.0公司遇到的問題(涉及隱私,我用A B C D代替),這里就不再贅述大家眾所周知的頁面靜態(tài)化,緩存和代碼安全等問題了,有點技術(shù)的2.0公司的CTO都知道這些東西,我們談點發(fā)展之后的問題
A公司
A公司做的是SNS網(wǎng)站,程序是兩個毛頭小伙子做的,目標(biāo)直指51,程序開發(fā)是一帆風(fēng)順,功能也比51牛多了,推廣也是一帆風(fēng)順(A公司有自己獨到的推廣方式。但是當(dāng)ALEXA到2W的時候問題出來了,每天下午4點左右,網(wǎng)站速度慢的驚人,基本上打不開,公司三臺服務(wù)器CPU100%,讓人郁悶的是公司的網(wǎng)絡(luò)配置方式,居然是雙WEB的集群,而單獨一臺DB數(shù)據(jù)庫。整個瓶頸在數(shù)據(jù)庫,于是我建議做DB的集群,分析了一下數(shù)據(jù)結(jié)構(gòu),MD,典型的WEB程序員的作品,沒有一點數(shù)據(jù)庫設(shè)計規(guī)范,功能實現(xiàn)是可以,如果要擴展,不可能,集群基本上是不可能的,怎么辦?不能辦,于是,一個月的時間修改程序,數(shù)據(jù)結(jié)構(gòu)基本上換了一遍 前期砸進去的幾十萬打了水飄,用戶走光了。
結(jié)論:WEB2.0前期設(shè)計的時候不應(yīng)該只考慮功能,應(yīng)該認(rèn)真考慮一下底層和數(shù)據(jù)結(jié)構(gòu)了。
B公司
B公司也是做的SNS網(wǎng)站,程序是3個人開發(fā)的,CEO是某名牌大學(xué)的經(jīng)濟學(xué)碩士,有點知己網(wǎng)的味道,又有一些特色出來,說實話,公司的潛力不錯,CEO有很強的運作能力,感覺前景不錯。系統(tǒng)架構(gòu)還行,但是---但是系統(tǒng)崩潰了,why?系統(tǒng)沒有考慮到用戶有個海量的說法,文件也有個海量的說法,用戶的相冊,圖片全部存貯在WEB服務(wù)器的一個分區(qū)上,每個用戶一個目錄,而打開性能監(jiān)視器,磁盤的IO高的驚人,基本上無暇響應(yīng)。眾所周知,文件系統(tǒng)也是一個數(shù)據(jù)庫,單獨大文件無所謂,關(guān)鍵是整個是300多個G的零碎文件,大量的讀寫操作,系統(tǒng)崩潰,數(shù)據(jù)丟失,文件系統(tǒng)的一個鏈斷了,用戶數(shù)據(jù)全部丟失。!這是一個非常沉重的問題,系統(tǒng)整整停了一個月來做數(shù)據(jù)恢復(fù)(單獨文件很容易,但是海量文件目前還沒有一個軟件能組織起來軟件架構(gòu))。解決方案:修改程序架構(gòu),做分布式文件存貯(程序修改用了8天,但是文件轉(zhuǎn)移卻又用去了將近一個月),20萬用戶損失殆盡
結(jié)論:WEB2.0前期的設(shè)計應(yīng)該有應(yīng)付海量存貯的考慮,整個涉及了程序架構(gòu)的修改,前期規(guī)劃不好的話基本上思路一條。
C公司
C公司是一個值得尊敬的公司,CEO技術(shù)出身,和比爾蓋茨一樣,大學(xué)未畢業(yè)出來做網(wǎng)絡(luò),01到03年做短信狠賺了一筆,后來做的小項目也小有所成,說實話,我很佩服。公司做的是校友方面,但是更偏重myspace風(fēng)格,注重個人主頁,推廣方面也下了大手筆。系統(tǒng)崩潰的原因其實很簡單,由于采用的是微軟的SqlServer,而微軟直接就告訴了我們,SQLSERVER不支持集群,他們的數(shù)據(jù)庫超負(fù)載,100%就沒有下去過,只能橫向增加配置,采用了4路4核CPU系統(tǒng),但是系統(tǒng)還是崩潰了... 高互動注定了高負(fù)載。解決方案: 現(xiàn)從基本入手,解決掉幾個程序耗能大戶,對數(shù)據(jù)庫采用橫向切割,將用戶每10萬進行分組,同時對數(shù)據(jù)庫系統(tǒng)進行散列,將多個表垂直分割,同時進行文件分組 ,解決問題. 因為修改了數(shù)據(jù)結(jié)構(gòu),程序也基本上大動了一下。 好在系統(tǒng)沒有出大錯,損失不算很大,不過對用戶體驗造成了很壞的影響。
結(jié)論:WEB2.0前期設(shè)計應(yīng)該有良好的散列考慮,程序應(yīng)該能有配合的擴充性,符合數(shù)據(jù)庫的擴充
D公司
D公司是一個各個方面做的比較好的公司,做了CDN加速,圖片也獨立分出了N個服務(wù)器,數(shù)據(jù)庫不錯的一個,(CTO是個數(shù)據(jù)庫專家),系統(tǒng)崩潰的原因在于WEB,按道理說WEB很容易做集群的,但是發(fā)現(xiàn)集群并解決不掉問題,他們的集群只允許做4臺的WEB集群,但是4臺都當(dāng)?shù)袅。仔?xì)分析,找到原因,我估計整個也是大部分CTO最容易犯的一個錯誤,或者說他們根本就想不到的問題,就是WEB上傳的問題,上傳的時候由于時間的原因,線程是保持鏈接的,300個線程就可以把一個WEB Server當(dāng)?shù)袅。解決方案:這個最簡單,把上傳和其他耗能大戶分離出獨立出來。程序改動不是很大,但是之前半個月速度滿對用戶體驗的損失也不可小視。
結(jié)論:沒有什么結(jié)論了,畢竟有海量訪問經(jīng)驗的CTO不多,也就是那幾個大站的。
出處:站長網(wǎng)
責(zé)任編輯:tada
上一頁 下一頁 寫給WEB2.0的站長 [2]
◎進入論壇網(wǎng)站綜合、網(wǎng)頁制作版塊參加討論
|