**的可用性描述**可有效訪問的特性。相比於**的其他非功能特性,**的可用性更牽動著人們的神經,大型**的不可用事故直接影響公司形象和利益,許多網際網路公司都將**可用性列入了工程師的績效考核,與獎金公升遷等利益掛鉤。
**不可用也被稱作**故障,業界通常用多少個9來衡量**的可用性,如qq的可用性是4個9,即qq服務99.99%可用,這意味著qq伺服器要保證其在所有執行時間中,只有0.01%的時間不可用,也就是一年中大約最多53分鐘不可用。由於可用性影響因素很多,對於**整體而言,達到4個9,乃至5個9的可用性,處理過硬的技術,大量的裝置資金投入和工程師的責任心,還要有個好運氣。
不同於其他架構指標,**可用性更加看得見摸得著,跟技術、運營、相關各方的績效考核息息相關,因此在架構設計與評審會議上,關於系統可用性的討論與爭執總是最花費時間與精力的部分。
通常企業級應用系統為提高系統可用性,會採用較昂貴的軟硬體裝置。實現高可用架構的主要手段是資料和服務的榮譽備份及失效轉移,一旦某些伺服器宕機,就將服務切換到其他可用的伺服器上,如果磁碟損壞,則從備份到磁碟讀取資料。
**公升級的頻率一般都很高,大型**一周發布一次,中小型**一天發布幾次。每次**發布都需要關閉服務,重新部署系統,整個過程相當於伺服器宕機。因此**的可用性架構設計不但要考慮實際的硬體故障引起的宕機,還要考慮**審計發布引起的宕機,二後者更加頻繁,不能因為系統可以接受偶爾的停機故障就降低可用性設計的標準。
應用層主要處理**應用的業務邏輯,因此有時也稱作業務邏輯層,應用的乙個顯著特點就是應用的無狀態性。由於負載均衡在應用層實際上起到了系統高可用的作用,因此即使某個應用訪問量非常少,只用一台伺服器提供服務就綽綽有餘,但如果需要保證該伺服器高可用,也必須至少部署兩台伺服器,使用負載均衡技術個歐建乙個小型的集群。
可復用的伺服器模組為業務產品提供基礎公共服務,大型**中這些服務通常都獨立分布式部署,被具體應用遠端呼叫。可復用的服務和應用一樣,也是無狀態的服務,因此可以使用類似負載均衡的失效轉移策略實現高可用的服務。除此之外,具體實踐中,還有以下幾點高可用的服務策略。1)分級管理 2)超時設定 3)非同步呼叫 4)服務降級 5)冪等性設計
回顧**架構發展歷程,**架構發展史就是一部不斷向**新增伺服器的歷史。只要工程師能向**的伺服器集群中新增新的機器,只要新新增的伺服器能線性提高**整體服務處理能力,**就無需為不斷增長的使用者和訪問而焦慮。
將不同功能分離部署可以實現一定程度的伸縮性,但是隨著**訪問量的逐步增加,即使分離到最小力度的獨立部署,單一的伺服器也不能滿足業務規模的要求。因此必須使用伺服器集群,即將相同服務部署在多型伺服器上構成乙個集群整體對外提供服務。具體來說,集群伸縮性又可分為應用伺服器集群伸縮性和資料伺服器集群伸縮性。
開發低耦合系統是軟體設計的終極目標之一,這一目標驅動著軟體開發技術的創新與發展,從軟體與硬體的第一次奮力到作業系統的誕生;從組合語言到面向過程的開發語言,砸到面相對物件的程式語言。可以說,度量乙個開發框架、設計模式、程式語言優劣的重要尺度就是衡量它是不是讓軟體開發過程和軟體產品更加低耦合。
可用性可修改性戰術分析
通過閱讀 大型 技術架構 核心原理與案例分析 的第 五 六 七章,對 的可用性和修改性戰術有了進一步的理解,接下來就來談談我的認識。的可用性描述 可有效訪問的特性。相比於 的其他非功能特性,的可用性更牽動著人們的神經,大型 的不可用事故直接影響公司形象和利益,許多網際網路公司都將 可用性列入了工程師...
可用性和可修改性戰術分析
可用性和可修改性戰術 分析 的可用性描述 可有效性訪問的特性。有好多時候不能訪問,比如,dns會被劫持,cdn服務可能會掛掉,伺服器可能會失靈,程式會有 bug,黑客會攻擊,會引來大量訪問,第三方合作夥伴的服務會不可用 所以,要保證乙個 永遠完全可用幾乎是不可能完成的任務。的高可用性,要求萬無一失,...
可用性和可修改性戰術
的可用性描述 可有效訪問的特性。相比於 的其他非功能特性,的可用性更牽動著人們的神經,大型 的不可用事故直接影響公司形象和利益,許多網際網路公司都將 可用性列入了工程師的績效考核,與獎金公升遷等利益掛鉤。不可用也被稱作 故障,業界通常用多少個9來衡量 的可用性,如qq的可用性是4個9,即qq服務99...