服務失敗的狀況考慮
- FailOver:失敗自動切換。就是服務消費者發現調用失敗或者超時後,自動從可用的服務節點列表總選擇下一個節點從新發起調用,也能夠設置重試的次數。這種策略要求服務調用的操做必須是冪等的,也就是說不管調用多少次,只要是同一個調用,返回的結果都是相同的,通常適合服務調用是讀請求的場景。
- FailBack:失敗通知。就是服務消費者調用失敗或者超時後,再也不重試,而是根據失敗的詳細信息,來決定後續的執行策略。好比對於非冪等的調用場景,若是調用失敗後,不能簡單地重試,而是應該查詢服務端的狀態,看調用究竟是否實際生效,若是已經生效了就不能再重試了;若是沒有生效能夠再發起一次調用。
- FailCache:失敗緩存。就是服務消費者調用失敗或者超時後,不當即發起重試,而是隔一段時間後再次嘗試發起調用。好比後端服務可能一段時間內都有問題,若是當即發起重試,可能會加重問題,反而不利於後端服務的恢復。若是隔一段時間待後端節點恢復後,再次發起調用效果會更好。
- FailFast:快速失敗。就是服務消費者調用一次失敗後,再也不重試。實際在業務執行時,通常非核心業務的調用,會採用快速失敗策略,調用失敗後通常就記錄下失敗日誌就返回了
歡迎關注本站公眾號,獲取更多信息