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


1、failover:失效轉移

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

2、failback:失效自動恢復

Fail-over之后的自動恢復,在簇網絡系統(有兩台或多台服務器互聯的網絡)中,由於要某台服務器進行維修,需要網絡資源和服務暫時重定向到備用系統。在此之后將網絡資源和服務器恢復為由原始主機提供的過程,稱為自動恢復。 例如:MySql的雙Master模式,如果主Master故障,則failover至從Master;當主Master恢復之后,則自動切換至主Master。

3、failfast:快速失敗

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

4、failsafe:失效安全

Fail-Safe的含義為“失效安全”,即使在故障的情況下也不會造成傷害或者盡量減少傷害。 例如:寫入監控日志出錯時,不會對主業務的成敗產生影響。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM