陳新月 廊坊師範學院資訊科技提高班 十三期
昨天小鹹兒突然被問到什麼是高可用?聽到這個問題一瞬間有些懵懵的,就簡單的回答了“程式碼的健壯性和可重用性”,最後自己去查了查才發現自己的回答和真相相差甚遠啊!所以特地來總結一篇簡單的高可用的敘述。
百度百科:“高可用性”(High Avaliability)通常來描述一個系統經過專門的設計,減少停工時間,而保持其服務的高度可用性。
計算機的高可用性
計算機系統的高可用性用平均無障礙時間(MTTF)來度量,即計算機系統平均能夠正常執行多長時間,才發生一次故障。系統的可用性越高,平均無故障時間越長。可維護性用平均維修時間(MTTR)來度量,即系統發生故障後維修和重新恢復正常執行平均花費的時間,系統的可維護性越好,平均維修時間越短。計算機系統的可用性定義為:MTTF/(MTTF+MTTR)*100%。由此可見,計算機系統的可用性定義為系統保持正常執行時間的百分比。
負載均衡服務的高可用性
為了遮蔽負載均衡伺服器的失效,需要建立一個備份機。主伺服器和備份機上都執行High Availability監控程式,通過傳送諸如“I am alive”這樣的資訊 來監控對方的執行狀況。當備份機不能再一定的時間內收到這樣的資訊時,他就接管主伺服器的服務IP並繼續提供服務;當備份管理器又從主管理器收到“I am alive”這樣的資訊時,她就釋放服務IP地址,這樣的主管理器就開始再次進行叢集管理的工作了。為在主管理器失效的情況下系統能正常工作,我們在主、備份機之間實現負載集群系統配置資訊的同步與備份,保持二者系統的基本一致。
所以說高可用和負載均衡是分不開的,而且單點是系統高可用的大敵,應該儘量在系統設計的過程中避免單點。高可用保證的原則是“叢集化”,或者說是“冗餘”:只有一個單點,掛了服務就會收到影響;如果有備份的話,就算是掛了也會有其他的服務能夠頂上。
在此,小鹹兒特地推薦兩篇部落格,寫的都非常的棒!(๑•̀ㅂ•́)و✧
參考資料: