不同類(lèi)型網(wǎng)站建設(shè)開(kāi)發(fā)語(yǔ)言不同,技術(shù)支持當(dāng)然也不同,再此,北京8U網(wǎng)站建設(shè)專(zhuān)員同大家分享門(mén)戶(hù)型網(wǎng)站建設(shè)的必備知識(shí)點(diǎn)供參考:
門(mén)戶(hù)型網(wǎng)站建設(shè)用存儲(chǔ)過(guò)程是比較難擴(kuò)展的,這種情形多發(fā)生于傳統(tǒng)C/S,特別是OA系統(tǒng)轉(zhuǎn)換過(guò)來(lái)的開(kāi)發(fā)人員。低成本網(wǎng)站不是一兩臺(tái)小型機(jī)跑一個(gè)數(shù)據(jù)庫(kù)處理所有業(yè)務(wù)的模式,是機(jī)海作戰(zhàn)。方便水平擴(kuò)展比那點(diǎn)預(yù)分析時(shí)間和網(wǎng)絡(luò)傳輸流量要重要的多的多。
為了將來(lái)圖片走cdn做準(zhǔn)備,網(wǎng)站建設(shè)最好一開(kāi)始就將圖片的域名分開(kāi),且不用主域名。很多網(wǎng)站都將cookie設(shè)置到了.domain.ltd,如果圖片也在這個(gè)域名下,很可能因?yàn)?/span>cookie而造成緩存失效,并且占多余流量,還可能因?yàn)闉g覽器并發(fā)線程限制造成訪問(wèn)緩慢。
門(mén)戶(hù)型網(wǎng)站建設(shè)除了結(jié)構(gòu)化數(shù)據(jù),還要經(jīng)常存放其他的數(shù)據(jù),像圖片之類(lèi)的。這類(lèi)數(shù)據(jù)數(shù)量繁多、訪問(wèn)量大。典型的就是圖片,從用戶(hù)頭像到用戶(hù)上傳的照片,還要生成不 同的縮略圖尺寸。存儲(chǔ)的分布幾乎跟數(shù)據(jù)庫(kù)擴(kuò)展一樣艱難。不使用專(zhuān)業(yè)存儲(chǔ)的情況下,基本都是靠自己的NAS。這就涉及到結(jié)構(gòu)。拿圖片存儲(chǔ)舉例,圖片是非常容 易產(chǎn)生熱點(diǎn)的,有些圖片上傳后就不再有人看,有些可能每天被訪問(wèn)數(shù)十萬(wàn)次,而且大量小文件的異步備份也很耗費(fèi)時(shí)間。
幾乎所有操作最后都要落到數(shù)據(jù)庫(kù)身上,它又最難擴(kuò)展(存儲(chǔ)也挺難)。對(duì)于mysql,什么樣的表用myisam,什么樣的表用innodb,在開(kāi)發(fā) 之前要確定。復(fù)制策略、分片策略,也要確定。表引擎方面,一般,更新不多、不需要事務(wù)的表可以用myisam,需要行鎖定、事務(wù)支持的,用innodb。 myisam的鎖表不一定是性能低下的根源,innodb也不一定全是行鎖,具體細(xì)節(jié)要多看相關(guān)的文檔,熟悉了引擎特性才能用的更好?,F(xiàn)代WEB應(yīng)用越來(lái) 越復(fù)雜了,我們?cè)O(shè)計(jì)表結(jié)構(gòu)時(shí)常常設(shè)計(jì)很多冗余,雖然不符合傳統(tǒng)范式,但為了速度考慮還是值得的,要求高的情況下甚至要杜絕聯(lián)合查詢(xún)。編程時(shí)得多注意數(shù)據(jù)一 致性。
門(mén)戶(hù)型網(wǎng)站建設(shè)在復(fù)制策略方面,多主多從結(jié)構(gòu)也最好一開(kāi)始就設(shè)計(jì)好,代碼直接按照多主多從來(lái)編寫(xiě),用一些小技巧來(lái)避免復(fù)制延時(shí)問(wèn)題,并且還要解決多數(shù)據(jù)庫(kù)數(shù)據(jù)是否一致,可以自己寫(xiě)或者找現(xiàn)成的運(yùn)維工具。