題目:閱讀《大型網站技術架構:核心原理與案例分析》第5、六章,結合《某重大技術需求徵集系統》,列舉實例分析採用的可用性和可修改性戰術,數據庫
將上述內容撰寫成一篇1500字左右的博客闡述你的觀點。tomcat
網站的可用性戰術是網站有效運行的根本保障,一個網站的高可用性可以給用戶很大的安全感,最大限度的保障用戶的利益、隱私不被侵犯。因爲安全
經費有限,硬件設備在節約成本的同時也下降了可用性,因此硬件故障就發生的比較頻繁,所以,網站的高可用架構設計的主要目的就是保證服務器硬服務器
件故障時服務依然可用、數據依然保存並可以被訪問。典型的網站設計一般遵循三層架構模型,應用層、服務層、數據層,各層之間具備相對獨立性,架構
應用層主要負責具體業務邏輯處理;服務層負責提供可複用的服務;數據層負責數據的存儲與訪問。中小型網站在具體部署時,一般將應用層和服務層負載均衡
部署在一塊兒,而數據層則另外部署。應用層主要處理網站應用的業務邏輯,應用的一個顯著特色是應用的無狀態性。不保存狀態的應用給高可用的架構分佈式
設計帶來了巨大便利,既然服務器不保存請求的狀態,那麼全部的服務器徹底對等,當任意一臺或多臺服務器宕機,請求提交給其餘任意一臺可用機器模塊化
處理,這樣對終端用戶而言,請求老是可以成功的,整個系統依然可用。對於應用服務器集羣,實現這種服務器可用狀態實時監測、自動轉移失敗任務post
的機制是負載均衡。網站的伸縮性永無止境。所謂網站的伸縮性,指不須要改變網站的軟硬件設計,僅僅經過改變部署的服務器數量就能夠擴大或者縮性能
小網站的服務處理能力。要實現網站的可伸縮性,關鍵技術就在於如何構建良好的服務器集羣。要達到良好的目標,就要求每次擴容和減小服務器時,
對整個網站的影響是最小的。CAP原理就是選擇強化分佈式存儲系統的可用性和伸縮性,而在某種程度上放棄一致性。CAP原理對於可伸縮的分佈式系
統設計具備重要意義,不恰當地迎合各類需求,可能會使設計進入兩難境地,難覺得繼。咱們的系統有大量的統計數據。咱們的網站隨時都有可能進行
修改,好比發佈新功能,這時就須要在服務器上關閉原有的應用,從新部署新的應用,整個過程要求不影響用戶的使用。爲了把對用戶的影響下降到最
小,一般使用發佈腳原本完成發佈。通過嚴格的測試,軟件部署到服務器仍是會出現問題,主要緣由就是測試環境和線上環境並不相同,因此咱們在網
站發佈時,要把測試經過的代碼先發布到預發佈機器上,確認系統沒有問題後才正式發佈。
網站的可擴展架構是隨需而變的。網站的擴展性架構設計,是對現有系統影響最小的狀況下,系統功能可持續擴展及提高的能力。擴展性是指對現有
系統影響最小的狀況下,系統功能可持續擴展或提高的能力。它是系統架構設計層面的開閉原則,架構設計考慮將來功能擴展,當系統增長新功能時,不
須要對現有系統的結構和代碼進行修改。設計網站可擴展架構的核心思想是模塊化,並在此基礎上,下降模塊間的耦合性,提供模塊的複用性。模塊經過
分佈式部署,獨立的模塊部署在獨立的服務器上集羣從物理上分離模塊之間的耦合關係。
可用性戰術將會阻止錯誤發展成爲故障,或者至少可以把錯誤的影響限制在必定範圍內,從而使系統恢復成爲可能。
可用性戰術中,此係統用到了錯誤檢測,在用戶操做數據庫時,好比:修改我的信息,修改未審覈的需求信息,填寫需求等,在過程當中發生未知錯
誤的時候,系統能夠自動返回,給出提示信息,,並對已經進行的操做進行回滾,保證對錯誤的完善操做。
可修改性:遵循「高內聚低耦合」的原則,將整個系統進行分層,數據、應用、操做作到相互關聯且不會互相影響,在某一處發生錯誤時,也能夠針對
不一樣的層次進行修改;
咱們的系統只是在tomcat的服務器上運行,網站架構並無過多的設計,因此還須要從新構建。