關於某某系統增加相應功能,提高系統的可用性和易用性

2022-07-25 02:24:06 字數 1454 閱讀 8983

**的可用性描述**的可有效訪問的特性(不同於另乙個**運營指標:usability,通常也被譯為可用性,但後者強調的是**的可用性,即對終端使用者的使用價值),相對於**的其他非功能特性,**的可用性更牽動人們的神經,大型**不可用事故直接影響公司形象和利益,許多網際網路公司都將**可用性例如工程師的績效考核,與獎金省錢等利益掛鉤。

通常企業級應用軟體為提高系統的可用性,會採用比較昂貴的軟硬體裝置,如ibm的小型機乃至中型機大型機及專有作業系統、oracle資料庫、emc儲存裝置等。網際網路公司更多的採用pc級伺服器、開源的資料庫和作業系統,這些廉價的裝置在節約成本的同時也降低了可用性,特別是伺服器硬體裝置,低價的商業級伺服器一年宕機一次是乙個大概率事件,而那些高強度頻繁讀寫的普通硬碟,孫環的概率則要更高一些。

既然硬體故障是常態,**的高可用架構設計的主要目的就是保證伺服器硬體故障時服務依然可用、資料依然儲存並且能夠被訪問。而實現上述高可用架構的主要手段是資料和服務的冗餘備份及失效轉移,一旦某些伺服器宕機,就將服務切換到其他可用的伺服器上,如果磁碟損壞,則從備份的磁碟讀取資料。

應用層主要處理**應用的業務邏輯,因此又是也稱作業務邏輯層,應用的乙個顯著特點是應用的無狀態性。所謂的無狀態性是指應用伺服器不儲存業務的上下文資訊,而僅根據每次請求提交的資料進行相應的邏輯處理,多個服務例項(伺服器)之間完全對等,請求提交到任意伺服器,處理的結果都是完全不一樣的。

通過負載均衡進行無狀態服務的失效轉移。不儲存狀態的應用給高可用的架構設計帶來了巨大便利,既然拂去其不儲存請求的狀態,那麼所有的伺服器完全對等,當任意一台或多台伺服器宕機,請求提交給集群中其他任意一台可用機器處理,這樣對終端使用者而言,請求總是成功的,整個系統仍然可用。對於應用伺服器集群,實現這種伺服器可用狀態實時監測、自動轉移失敗任務的機制是負載均衡。在**應用中,當集群中的服務是無狀態對等時,負載均衡可以起到事實上高可用的作用。

除此之外,具體實踐中,還可以有以下高可用的服務策略:分級管理、超時設定、非同步呼叫、服務降級、冪等性設計等。

即使是經過嚴格的測試,軟體部署到線上伺服器之後還是經常會出現各種問題,甚至根本無法啟動伺服器。主要原因是測試環境與線上環境並不相同,特別是應用需要依賴的其他服務,如資料庫,快取、公用業務服務等,以及一些第三方服務,如電信簡訊、銀行網銀介面等。也許是資料庫表結構不一致;也許是介面變化導致的通訊失敗;也許是配置錯誤導致的連線失敗;也許是依賴的服務上線環境還沒有準備好,這些問題都有可能導致應用故障。因此在**發布時,並不是把測試通過的**包直接發布到線上伺服器,而是先發布到預發布機器上,開發工程師和測試工程師在預發布伺服器上進行預發布驗證,執行一些典型的業務流程,確定系統沒有問題後才正式發布。

**架構發展史就是一部不斷向**新增伺服器的歷史。只要工程師能向**的伺服器集群新增新的機器,只要新新增的伺服器能線性提高**的整體服務處理能力,**就無需為不斷增長的使用者和訪問而焦灼。**的伸縮性可分為兩類,一類是根據功能進行物理分離實現伸縮,一類是單一功能通過集群實現伸縮。前者是不同的伺服器部署不同的服務,提供不同的功能;後者是集群內的多台伺服器部署相同的服務,提供相同的功能。

使用Raid提高SQL的效能和可用性

使用raid提高sql的效能和可用性 自sqlserver疑難解析 raid0 資料條帶化 優點 多個磁碟併發操作,最好的讀寫效能 最經濟。缺點 不提供任何容錯。建議 可以對追求效能不考慮冗餘的庫使用raid0,如tempdb raid1 磁碟映象 優點 高效能的容錯性 最簡單的支援容錯的raid級...

構建具備容器和資料映象功能的高可用性系統

it宕機可能對任何業務產生重大影響。傳統情況下,這使得備份資料恢復的速度成為it團隊的主要焦點。然而,即使備份工具得到改進,許多組織的恢復時間仍然不夠。此外,此前的高可用性系統已經超出了大多數組織的財務可接受範圍。現如今,提供資料中心高可用性是一種不同的,更具成本效益的方法 即資料映象以及雲計算和容...

高可用性系統的集群解決方案整理

關於如何設計乙個高可用性 部分節點宕機仍然保證可用 的系統,整理下大致思路。系統前端的設計中,採用比較通用的解決方案,web伺服器 如apache 應用伺服器集群 tomcat或者weblogic 客戶端 client 連線web伺服器時需要考慮session的分布式管理,可以用memcached與...