「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-戻る
--[[クラウド設計パターン]]
--[[HttpClientの類の使い方>HttpClientの類の使い方#e8fa9d8f]]

* 目次 [#k791a80b]
#contents

*概要 [#fe5611c7]
-タイムアウト時、指数関数的にリトライ間隔を後退
-1秒、2秒、4秒、8秒、16秒とリトライ間隔を後退させる。
ライブラリを実装しようと思い調べてみた。

*詳細 [#d38016ef]
[[リトライ回数>#obaf55e7]]の最大値まで、[[リトライ間隔>#pa5f8959]]を後退させながらリトライ処理を繰り返す。
-指定の[[リトライ回数>#obaf55e7]]の最大値まで、
-[[リトライ間隔>#pa5f8959]]を指数関数的に後退させながら
-リトライ処理を繰り返す方式のこと。

**リトライ回数 [#obaf55e7]
最大値がある。

**リトライ間隔 [#pa5f8959]
リトライ間隔は

>min ( ( ( 2^[[n>#fec9380f]] ) + [[random_number_milliseconds>#s6df1d71]] ), [[maximum_backoff>#pa02bbb3]] )

で、計算可能。

***n [#fec9380f]
[[リトライ回数>#obaf55e7]]

***random_number_milliseconds [#s6df1d71]
1,000 ミリ秒以下の乱数。

-なんらかの状況によって多数のクライアントが同期され、~
多数の再試行が同着するような状況を避けることができる。

-この値は、再試行リクエストの後に毎回再計算される。

***maximum_backoff [#pa02bbb3]
リトライ間隔の最大値。

-通常、32 秒または 64 秒。
-適切な値はユースケースによって異なる。

*参考 [#u9b87c62]
色々あるが、以下が一番、解り易い。

-切り捨て型指数バックオフ  |  Cloud Storage  |  Google Cloud~
https://cloud.google.com/storage/docs/exponential-backoff?hl=ja

----
Tags: [[:通信技術]], [[:.NET開発]], [[:ASP.NET]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS