網(wǎng)站建設(shè)中如何合理設(shè)計(jì)回退功能網(wǎng)站建設(shè)時(shí)無(wú)論是從代碼安全,數(shù)據(jù)安全還是用戶操作的容錯(cuò)性考慮,回退功能應(yīng)該從網(wǎng)站建設(shè)一開(kāi)始就考慮,避免突發(fā)情況下可以迅速恢復(fù)網(wǎng)站。下面列出了要具備回退功能需要注意的幾個(gè)關(guān)鍵點(diǎn)。是的,回退功能的主要難點(diǎn)在于數(shù)據(jù)庫(kù),通過(guò)仔細(xì)檢查網(wǎng)站,一一排除那些明顯的問(wèn)題,然后堅(jiān)持幾個(gè)簡(jiǎn)單的原則,所有網(wǎng)站建設(shè)團(tuán)隊(duì)都能夠設(shè)計(jì)完善的回退功能。
- 保證數(shù)據(jù)庫(kù)修改只能是增量的。在下一個(gè)廢除了列之間的依賴關(guān)系的版本發(fā)布之前,只能添加數(shù)據(jù)庫(kù)的列或表,不能直接刪除。一旦實(shí)施了這些標(biāo)準(zhǔn),每個(gè)版本都應(yīng)該有一部分代碼專門(mén)用于清除上一個(gè)版本遺留的對(duì)于數(shù)據(jù)。
- DDL和DML必須腳本化且測(cè)試過(guò),這個(gè)可以在網(wǎng)站建設(shè)的后期修改。每個(gè)版本中對(duì)數(shù)據(jù)庫(kù)的修改必須通過(guò)腳本實(shí)現(xiàn),而不能手段進(jìn)行。其中應(yīng)該包括回退腳本。這樣做的原因有兩點(diǎn):1. 網(wǎng)站建設(shè)團(tuán)隊(duì)需要在QA或某個(gè)階段測(cè)試回退操作,以便驗(yàn)證什么都沒(méi)有被漏掉;2. 需要在一定的負(fù)載的條件下測(cè)試腳本,確保在網(wǎng)站程序使用數(shù)據(jù)庫(kù)時(shí),它仍然能夠執(zhí)行。
- 對(duì)網(wǎng)站中的SQL查詢進(jìn)行約束。網(wǎng)站建設(shè)團(tuán)隊(duì)需要消除所有SQL語(yǔ)句中的歧義,刪除所有Select *查詢,并且給update語(yǔ)句加上要更新的列名字。
- 較大型網(wǎng)站建設(shè)項(xiàng)目中要合理使用緩存,正確設(shè)置響應(yīng)頭中的緩存參數(shù)。客戶端緩存可以在網(wǎng)站出現(xiàn)故障時(shí)讓大部分曾經(jīng)訪問(wèn)過(guò)網(wǎng)站的用戶從緩存中正常訪問(wèn)部分重要信息,不至于直接出現(xiàn)錯(cuò)誤頁(yè)面。客戶端緩存主要由http響應(yīng)頭中的Cache-Control,Last-Modified和Expires參數(shù)實(shí)現(xiàn),下面是被正確設(shè)置緩存的網(wǎng)站響應(yīng)頭,其中紅色字體部分是緩存的關(guān)鍵參數(shù),確保你的網(wǎng)站返回的http頭部正確包含了這些內(nèi)容,剩下的就交給瀏覽器去完成吧。
Request URLCache-Control:privateContent-Encoding:gzipContent-Length:22146Content-Type:text/html;charset=utf-8Date:Mon, 04 Nov 201308:25:36 GMTCache-Control:max-age=0Expires:Mon, 04 Nov 2013 20:00:00GMTConnection:keep-alivePoweredBy:cloudfunVary:Accept-Encoding
- 數(shù)據(jù)的語(yǔ)義修改。在發(fā)布版本中,網(wǎng)站建設(shè)團(tuán)隊(duì)不能修改數(shù)據(jù)的定義。舉個(gè)例子,票務(wù)表中的一列用于存放狀態(tài)信號(hào),其中有三個(gè)值assigned,fixed和closed。在網(wǎng)站的新版本中,如果沒(méi)有發(fā)布處理新?tīng)顟B(tài)的代碼,就不能添加第四個(gè)狀態(tài)。
- 網(wǎng)站建設(shè)中注重架構(gòu)設(shè)計(jì),盡量做到熱插拔,即Wire on/wire off。應(yīng)該讓網(wǎng)站結(jié)構(gòu)化,使其能根據(jù)外部配置,讓有些用戶能夠訪問(wèn)某個(gè)代碼路徑和功能,而有的用戶則不能訪問(wèn)。這種設(shè)置可以存放在配置文件中,也可以存放在數(shù)據(jù)庫(kù)表中,既能夠根據(jù)角色賦予的訪問(wèn)權(quán)限,也能夠根據(jù)隨機(jī)百分比分配權(quán)限。有了這種結(jié)構(gòu),就能夠讓有限的用戶對(duì)新功能進(jìn)行測(cè)試,而且能夠迅速地刪除主要bug的代碼路徑,從而不必回退整個(gè)代碼。
即使以后和其他團(tuán)隊(duì)一起工作,我們也要這樣要求自己。可見(jiàn),這些原則并不復(fù)雜,而是相當(dāng)簡(jiǎn)單,任何團(tuán)隊(duì)多能夠應(yīng)用它們,都能具備回退的功能。
名稱欄目:網(wǎng)站建設(shè)中如何合理設(shè)計(jì)回退功能
本文網(wǎng)址:http://m.newbst.com/news41/282441.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、動(dòng)態(tài)網(wǎng)站、軟件開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)公司、關(guān)鍵詞優(yōu)化、靜態(tài)網(wǎng)站
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源:
創(chuàng)新互聯(lián)