架構師速成8 3 可用性

2021-07-04 09:40:44 字數 760 閱讀 8737

作為乙個軟體系統可用性是第一位的,如果乙個系統不可用,你其他的地方做的再怎麼好,然並卵。

一般什麼情況下軟體會不可用:

我方發生故障,導致系統不可用,當然會出現單機的不可用及n多機器群的全部不可用。

程式故障 功能錯誤、程式退出

系統故障 cpu超負荷、記憶體超負荷、網路超負荷

物理故障  機器宕機 斷電 斷網

不可恢復故障 **、海嘯等等

客戶方也會發生相同故障,導致系統不可用,當然會出現個別使用者的不可用及區域性使用者均不可用。

對於我方發生的問題,我們必須通過架構的方式進行解決,對於客戶方發生的問題,我們盡量找方法解決,先解決區域性問題,再解決個別使用者問題。解決方案必須要考慮到成本及戰略來進行取捨,比如創業初期,根本沒有大量資金,要解決不可恢復故障基本不太可能。

我們先試圖從架構的方式來解決我方發生的故障,這種解決方案類似於設計模式,故稱之為架構模式。

針對單機的不可用,有乙個專業術語叫做單點故障,最好的方式就是部署多機器,通過多機器負載均衡,來規避單點故障。

分布式負載均衡

針對多機的不可用,我們需要分類看如何解決:

程式故障 功能錯誤、程式退出,這種錯誤有同學說,可以加單元測試、功能測試,讓測試來發現問題。是的,但是那是開發流程,我們先不討論那個,我們從架構的角度討論,主要的解決方案如下:

系統故障 cpu超負荷、記憶體超負荷、網路超負荷

物理故障  機器宕機 斷電 斷網

不可恢復故障 **、海嘯等等

後面我會針對每個專題跟大家仔細講解。

架構師速成8 3 可用性

作為乙個軟體系統可用性是第一位的,假設乙個系統不可用。你其它的地方做的再怎麼好,然並卵。一般什麼情況下軟體會不可用 我方發生問題。導致系統不可用。當然會出現單機的不可用及n多機器群的所有不可用。程式故障 功能錯誤 程式退出 系統故障 cpu超負荷 記憶體超負荷 網路超負荷 物理故障 機器宕機 斷電 ...

架構師速成8 3 可用性之分布式

分布式算是軟體界發展的乙個里程碑,它開闢乙個新的軟體時代,其他的溢美之詞我就不再亂說了。分布式按照我的觀點,應該分為有狀態和無狀態2種 有狀態 無狀態 當然分布式盡量做成無狀態的分布式,但是儲存最終因為最終儲存的是有狀態的資料,所以不得不變的有狀態。當然web系統也可以是有狀態的,但是最好做成無狀態...

架構師速成8 3 可用性之分庫分表

有狀態分布式,涉及的知識就比較多了,只是我們能夠拿幾個現實的樣例由淺入深的來理解。如果你是乙個開發負責人,開始使用單機的資料庫,突然一天資料庫硬碟掛掉了。你沒有做備份,然後就沒有然後了。進入第2個公司,你意識到備份的重要性。每天定時備份到還有一台機器,突然有一天,資料庫硬碟掛掉了。你心想幸好我有備份...