屏障條件
- 編輯:admin -讀了這個標題后,你也許立刻會以為我們會說,瀑布開發(fā)周期是在高可擴展的環(huán)境中取得成功的關鍵。屏障條件或者開始和結束條件通常會被關聯(lián)到瀑布開發(fā)周期的某個階段,有時會被看作瀑布開發(fā)模型具有靈活性的原因之一。但我們的意圖并不是要推薦瀑布開發(fā)方法,而是要討論無論采用哪種開發(fā)方法都需要的標準和保護措施。
讀了這個標題后,你也許立刻會以為我們會說,瀑布開發(fā)周期是在高可擴展的環(huán)境中取得成功的關鍵。屏障條件或者開始和結束條件通常會被關聯(lián)到瀑布開發(fā)周期的某個階段,有時會被看作瀑布開發(fā)模型具有靈活性的原因之一。但我們的意圖并不是要推薦瀑布開發(fā)方法,而是要討論無論采用哪種開發(fā)方法都需要的標準和保護措施。
出于這一目的,我們假設屏障條件是一種標準,根據這種標準可以判斷你的開發(fā)生命周期是成功了,還是失敗了。在理想狀況下,你會在開發(fā)生合周期中設置這些條件或檢查點,以便幫助你判斷在開發(fā)產品或改善產品時,你是否確實在沿著正確的路徑前進。屏障條件是開發(fā)過程中于可擴展性來說,屏障條件可以是在實施一個設計之前, 在架構評審委員會的會議上對它進行桌的靜態(tài)目標,每隔定時間就要檢查一次, 以確保你在開發(fā)的東西是符合你的愿景和需要的。對面檢查,看它是否符合架構設計原則;也可以是對一一個實現(xiàn)進行代碼審查,確保它與設計一致;還可以是在QA過程中對一個實現(xiàn)進行性能測試,然后衡量把它發(fā)布到生產環(huán)境后會對可擴展性造成哪些影響。
可擴展性的屏障條件示例
我們通常建議在你的開發(fā)方法或開發(fā)生命周期中加入下列屏障條件。它們每一個的目的都是為了限制在生產環(huán)境中發(fā)生擴展問題的可能性以及它們造成的影響。
1.架構評審委員會。ARB的存在是為了確保設計符合架構設計原則。而架構設計原則相應對應了一個或多個關鍵的可擴展性原則。這個屏障的目的是為了確保不浪費時間實施或開發(fā)難以擴展或不能擴展到滿足你的需求的系統(tǒng)。
2.代碼審查。如果你已經有了強大的代碼審查流程,那么可以修改該流程,以確保被審查的系統(tǒng)實現(xiàn)進守了架構設計原則,這樣可以確保在QA發(fā)現(xiàn)系統(tǒng)的擴展問題,要求修復它之前,就能夠先行修復它了。
3.性能測試。性能測試可以在把系統(tǒng)引入生產環(huán)境之前,就發(fā)現(xiàn)潛在的問題,并且發(fā)現(xiàn)可擴展性帶來的問題可能對客戶產生的影響。
4.生產環(huán)境監(jiān)控和評估。在理想狀況下,你的系統(tǒng)應該被設計為能夠監(jiān)控的。即使它是不可監(jiān)控的,在發(fā)布之后,也要從用戶的角度、應用的角度和系統(tǒng)的角度捕捉關鍵的性能數據,與上一次發(fā)布的版本的性能數據進行對比,這樣有助于在潛在的擴展問題影響到客戶之前,就及早地發(fā)現(xiàn)它們。
也許你的網站建設流程中還有其他的屏障條件,長期以來你都覺得它們很有用。不過我們認為,要管理發(fā)布的系統(tǒng)由于擴展帶來的問題而對客戶產生負面影響的風險,至少需要采用上述的屏障條件。
