常見容錯機制:failover、failfast、failback、failsafe

1.failover:失效轉移
Fail-Over的含義爲“失效轉移”,是一種備份操作模式,當主要組件異常時,其功能轉移到備份組件。其要點在於有主有備,且主故障時備可啓用,並設置爲主。如Mysql的雙Master模式,當正在使用的Master出現故障時,可以拿備Master做主使用

2.failfast:快速失敗
從字面含義看就是“快速失敗”,儘可能的發現系統中的錯誤,使系統能夠按照事先設定好的錯誤的流程執行,對應的方式是“fault-tolerant(錯誤容忍)”。以JAVA集合(Collection)的快速失敗爲例,當多個線程對同一個集合的內容進行操作時,就可能會產生fail-fast事件。例如:當某一個線程A通過iterator去遍歷某集合的過程中,若該集合的內容被其他線程所改變了;那麼線程A訪問集合時,就會拋出ConcurrentModificationException異常(發現錯誤執行設定好的錯誤的流程),產生fail-fast事件。

3.failback:失效自動恢復
Fail-over之後的自動恢復,在簇網絡系統(有兩臺或多臺服務器互聯的網絡)中,由於要某臺服務器進行維修,需要網絡資源和服務暫時重定向到備用系統。在此之後將網絡資源和服務器恢復爲由原始主機提供的過程,稱爲自動恢復

4.failsafe:失效安全
Fail-Safe的含義爲“失效安全”,即使在故障的情況下也不會造成傷害或者儘量減少傷害。維基百科上一個形象的例子是紅綠燈的“衝突監測模塊”當監測到錯誤或者衝突的信號時會將十字路口的紅綠燈變爲閃爍錯誤模式,而不是全部顯示爲綠燈。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章