河北省重大系統徵集系統案例分析

    

網站的可用性描述網站可有效訪問的特性,相比於網絡的其餘非功能的特性,網站的可用性更能牽動人們的神經。由於,大型網站若是發生不可用的事故,將直接的影響公司的形象及利益,因此,網站的可用性及其重要。正如《大型網絡技術架構:核心原理與案例分析》中提到,百度被黑客攻擊,其DNS域名被劫持,致使百度全站長達數小時不可訪問。對百度的影響力很大。一時成爲了新聞熱點。對於網站的可用性,須要通過多個環節來考覈,任意環節出問題,都將會影響到整個網絡。而對於《河北重大需求技術徵集系統》而言,本身所作的這個小型網站,根本是經不起「網絡可用性的度量與考覈」,因此爲了實現這屬性,就要實現可用性戰術。同理,也要實現可修改性戰術。一般爲了提升系統的可用性,會採用較昂貴的軟硬件設備。便是高可用的網站架構,其主要目的就是保證服務器硬件故障時服務依然可用、數據依然保存並可以被訪問。實現的手段是數據和服務的冗餘備份及失效轉移。數據庫

    首先,能夠從網站架構出發。如經典型的分層模型MVC,即應用層、服務層、數據層。應用層主要負責具體業務邏輯處理;服務層負責提供可複用的服務;數據層負責數據的存儲與訪問。在複雜的大型網站架構中,劃分的粒度會更小、更詳細,結構更加複雜,服務器規模更加龐大,但仍是可以將其劃分到應用層、服務層和數據層。緩存

    其次,利用Session存儲和訪問要求。在《河北重大需求技術徵集系統》中,須要記錄用戶提交過的需求表,以及刪除過的、修改過的、被審覈過的需求表。而這些信息都是狀態不一樣的同種信息。這些運用到了數據庫,在這些需求表的基礎上進行包裝,使其符合Session的存儲和訪問的要求。對於有狀態的Session服務器,比較簡單的方法是利用分佈式緩存、數據庫等,在這些產品的基礎上進行包裝,使其符合Session的存儲和訪問要求。若是業務場景對Session管理有比較高的要求,好比利用Session服務集成單點登陸、用戶服務等功能,則須要開發專門的Session服務管理平臺。服務器

    對於異步調用,這一點,《河北重大需求技術徵集系統》未完成此項要求。如提交一個新用戶註冊請求,應用須要調用及格服務,這幾個服務之間並未實現異步調用的方式。網絡

    其次,還包括數據備份。《河北重大需求技術徵集系統》對應的數據庫,藉助相應的數據庫工具,可以很好的實現數據庫的備份的工做。數據備份是一種古老而有效的數據保護手段,早起的數據備份手段主要是數據冷備,即按期將數據複製到某種存儲介質上並物理存檔保管,若是系統存儲損壞,name就從冷備的存儲設備中恢復數據。架構

    正如這門書中所舉例:京東網。因爲大量的用戶訪問,致使網站服務的不可用,這其實正是缺乏可用性方面。異步

    對於網站架構的伸縮性設計,包括根據功能進行物理分離實現伸縮和單一功能經過集羣實現伸縮。這些,對於《河北重大需求技術徵集系統》來講,仍是大材小用。其伸縮性每每是和可用性、正確性、性能等耦合在一塊兒,改善伸縮性也可能會影響網站的其餘特性。因此,能夠加大對伸縮性的關注度。分佈式

    擴展性,是指現有系統影響最小的狀況下,系統功能可持續擴展或提高的能力。表如今系統設施穩定不須要常常變動,應用之間較少依賴和耦合,對需求變動能夠敏捷響應。伸縮性,是指系統可以經過增長(減小)自身資源規模的方式加強(減小)本身計算處理事務的能力。在網站架構中,一般利用集羣的方式增長服務器數量、提升系統的總體食物吞吐能力。對於擴展性和伸縮性,這兩個概念不是特別能分得清楚。都是與可用性相關,與軟件質量屬性相關的。工具

    可修改性是有關變動的成本問題,它提出兩個關注點:能夠修改什麼(製品)?什麼時候進行變動以及由誰進行變動(環境)?以個人理解,是當修改外界的設計時,不影響內部的邏輯。在《河北重大需求技術徵集系統》中,是主要是用到MVC模式,將各個功能塊分層。性能

相關文章
相關標籤/搜索