エクスポネンシャル バックオフを含む再試行を実装する

ヒント

このコンテンツは、.NET Docs で入手できる、またはオフラインで読み取ることができる無料のダウンロード可能な PDF として入手できる、コンテナー化された .NET アプリケーション用の電子ブックである .NET マイクロサービス アーキテクチャからの抜粋です。

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

エクスポネンシャル バックオフを含む再試行は、最大再試行回数に達するまで、指数関数的に増加する待機時間で操作を再試行する手法です (エクスポネンシャル バックオフ)。 この手法を利用すると、何らかの理由でクラウド リソースが数秒以上断続的に使用できなくなる可能性があります。 たとえば、オーケストレーターは、負荷分散のためにコンテナーをクラスター内の別ノードに移動している可能性があります。 その間は、一部の要求が失敗する可能性があります。 また、SQL Azure のようなデータベースで、負荷分散のためにデータベースを別のサーバーに移動しているときに、データベースを数秒間使用できなくなる例もあります。

エクスポネンシャル バックオフを使用する再試行ロジックを実装するには、さまざまなアプローチがあります。