使用指數輪詢來實作重試

提示

本內容節錄自《容器化 .NET 應用程式的 .NET 微服務架構》(.NET Microservices Architecture for Containerized .NET Applications) 電子書,可以在 .NET Docs 上取得,或免費下載可供離線閱讀的 PDF。

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

使用指數輪詢重試是重試某個作業,並呈指數增加等候時間,直到達到最大重試計數的技術 (Exponential backoff (指數輪詢))。 這項技術體認到雲端資源可能會基於任何原因而斷斷續續無法使用超過好幾秒。 例如,協調器可能正在將某個容器移至叢集中的另一個節點進行負載平衡。 在這段期間,部分要求可能會失敗。 另一個範例可能是 SQL Azure 之類的資料庫,其中某個資料庫可能移至另一部伺服器進行負載平衡,而導致資料庫無法使用好幾秒。

使用指數輪詢來實作重試邏輯的方法有許多種。