Polly 彈性策略指南

2022-04-12 10:47:02 字數 904 閱讀 7845

polly 提供了多種彈性策略:

policy

premise

akahow does the policy mitigate?

有相當比例的錯誤是暫時性的,可以在很短的時間內自我恢復。

"maybe it's just a blip" 也許只是抖動一下

允許配置自動化重試。

當系統很嚴重吃力的時候快速失敗比讓使用者或呼叫者等待更好。保證系統從過載的狀態中恢復。

"stop doing it if it hurts" 痛了就放手 "give that system a break" 做個了斷吧

可以預定義閾值來觸發熔斷。

即使等待也不太可能返回乙個成功的結果

"don't wait forever" 不要一直等下去

確保呼叫者在超時之後就不用繼續等待了。

當處理失敗時,多個失敗的救援會淹沒主機上的其他資源(如 threads/cpu)。乙個失敗下游的系統應該能夠"backed-up" 失敗的上游。這兩種失敗的處理都會影響更多系統。

"one fault shouldn't sink the whole ship" 乙個船艙漏水不應該沉掉整艘船

將動作限制在乙個固定的資源範圍內,隔離它不會影響其他人。

有相當比例的請求都相似

"you've asked that one before" 你之前問過了同樣的問題

從快取中提供響應。當首次響應時自動化儲存響應。

當失敗一時半會無法恢復,應該有個後備的撤退計畫。

"degrade gracefully" 優雅地降級

當失敗時返回乙個替代的值,或者其他可以執行的動作

不同的失敗需要不同的策略,彈性意味著可以將它們組合起來使用。

"defence in depth" 深度防禦

允許任意組合以上的策略

Polly 重試策略

基本重試 public static void retry th times,ex execute console.writeline obj 輸出 重試一次成功 重試兩次成功 重試三次均失敗 可以看到,再超過重試次數的時候,若程式還是異常,則丟擲異常。成功前一直重試 public static v...

Polly 故障處理策略

polly故障處理策略,記錄 不詳細解釋了 using polly using polly.retry using system using system.collections.generic using system.threading namespace pollydemo console.w...

Polly 彈性和瞬態故障處理庫

polly是一種.net彈性和瞬態故障處理庫,允許我們以非常順暢和執行緒安全的方式來執諸如行重試,斷路,超時,故障恢復等策略。polly針對對.net 4.0,net 4.5和.net standard 1.1以及.net core實現 可以實現熔斷與降級機制 private async taskg...