常見容錯機制:failover ,failsafe,failfase ,failback,forking,來源於阿里的定義。
Failover 失敗自動切換
當出現失敗,重試其它服務器,通常用於讀操作(推薦使用)。 重試會帶來更長延遲。
Failfast 快速失敗
只發起一次調用,失敗立即報錯,通常用於非冪等性的寫操作。 如果有機器正在重啟,可能會出現調用失敗 。
Failsafe 失敗安全
出現異常時,直接忽略,通常用於寫入審計日志等操作。 調用信息丟失 可用於生產環境 Monitor。
Failback 失敗自動恢復
后台記錄失敗請求,定時重發。通常用於消息通知操作 不可靠,重啟丟失。 可用於生產環境 Registry。
Forking 並行調用多個服務器
只要一個成功即返回,通常用於實時性要求較高的讀操作。 需要浪費更多服務資源 。
Broadcast
廣播調用,所有提供逐個調用,任意一台報錯則報錯。通常用於更新提供方本地狀態 速度慢,任意一台報錯則報錯 。