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