課後做業——可用性和可修改性戰術分析

  可用性戰術將會阻止錯誤發展爲故障,或者至少可以把錯誤的影響限制在必定範圍內,從而使系統恢復成爲可能。web

  可修改性戰術的目標是控制實現、測試和部署變動的時間和成本。
  首先咱們瞭解一些可用性。可用性與系統故障及其相關後果有關。網站的頁面功能完整呈如今最終用戶面前,須要通過不少個環節,任何一個環節出了問題,均可能致使網站頁面不可訪問。要保證一個網站永遠安全幾乎是一件不可能完成的使命。網站不可用也被稱做網站故障。當系統再也不提供其規範中所說明的服務時,就出現了系統故障。系統的用戶能夠觀察到此類故障。有兩個著名的例子。書中有兩個涉及到可用性崩潰的較爲著名的例子,一是2010年1月12日,百度被黑客攻擊,其DNS域名被劫持,致使百度全站長達數小時不可訪問。2011年4月12日,亞馬遜雲計算服務EC2發生故障,其ESB服務不可用,故障持續了數天,最終仍是有部分數據未能恢復。
  對於實發性的項目,都有一個可用性的度量,也就是對於網的可用性的考覈。對於一個系統來講,固然是可用性越高越好。可用性度量的一般用幾個9來衡量,對於大多數網站而言,2個9是基本可用,網站年度不可用時間小於88小時;3個9是較高可用,網站年度不可用時間小於9小時;4個9是具備自動恢復能力的高可用,網站的年度不可用時間小於53分鐘,好比QQ就是4個9,QQ服務99.99%可用,這意味着保證其服務的在全部運行時間中,不可用的時間小於0.01%,一年中的不可用時間少於53分鐘;5個9是極高可用性,網站年度不可用時間小於5分鐘。其計算方式爲:網站不可用時間=故障修復時間點-故障發現時間點。網站年度可用性指標=(1-網站不可用時間/可用時間)*100%
  可用性指標是網站架構設計的重要指標,對外是服務承諾,對內是考覈指標。從管理層面,可用性指標是網站架構或產品的總體考覈指標。因爲可用性影響因素不少,對於網站總體而言,要達到高可用性,須要有過硬的技術、大量的設備資金投入和工程師的責任心。舉個最簡單的實發性項目的例子,好比說,上學期咱們作過的《XXX系統》。以前的時候,同窗們都本身開發者這個網站,都覺得網站的運行的已經沒有問題了,我也是這樣,實際上等到那天審查的時候,當別人來使用這個網頁的時候就會發現還有不少的問題。由於別人操做的方式跟咱們測試的時候不太同樣,就會發生一些咱們未曾發現的錯誤。好多同窗的系統甚至會跳到500的網頁。當出現崩潰的時候,沒有解決方案,解決方法就是從新修改代碼而後再調試程序。用可用性標準來衡量,程序的可用性就很低了。
  可用性戰術將會阻止錯誤發展爲故障,或者至少可以把錯誤的影響限制在必定範圍內,從而使系統恢復成爲可能。能夠經過錯誤檢測,自動恢復,錯誤預防來維護可用性。在寫程序時候必定要有try Catch的錯誤捕捉,這樣才能檢測到錯誤使網站不至於崩潰。
  將系統分層、分割的主要目的是增長系統可維護性,以及對後期發展提供更好的功能擴展能力、併發處理能力。目前通常公司都會進行有效的劃分,如利用流行的SSHweb框架開發,按功能劃分不一樣模塊開發。要將網站的功能進行分開編寫。
  易用性。易用性與用戶完成指望任務的難易程度以及系統爲用戶提供的支持種類有關。說得通俗一點,易用性是指用戶使用軟件時是否感受方便,好比是否最多點擊鼠標三次就能夠達到用戶的目的。拿咱們本身開發的系統來講,易用性是作到了,由於功能實在是太少了,基本上沒有什麼複雜的功能。可是有一個重要的問題要注意,易用性要基於可用性的實現,就比如功能再簡單的《XXX系統》,停留在不能使用的apache頁面,也就不存在什麼易用性之說了。說到這裏,我想到了你們日常都有使用的軟件QQ。你們更喜歡用TIM,這個聊天工具功能簡單。就和大多數人玩微信同樣。
  對於擴展性,就是在對現有系統影響最小的狀況下,系統可持續擴展和提高的能力。在系統作的比較大的時候,利用可擴展性,能夠較快速地擴展系統的功能。
  經過可用性和可修改性的戰術的學習以及對五六七章的閱讀。知道一個成功的網站所須要的努力和工做有不少。每一個網站都要經過戰術的保證來防止和減小BUG的產生。網站的性能也是評判的標準apache

相關文章
相關標籤/搜索