Slide 42
Slide 42 text
42
スロットリングの原因と対応策
• Jitter(ジッター)
• ランダム性を追加することでリトライタイミングを分散させる
• max_wait_time = base_delay * (2 ** retry) で retry を増やしていく
(エクスポネンシャルバックオフ)
• wait_time = random.uniform(0, max_wait_time) のように
0 ~ max_wait_timeまでのランダムな値を生成
• リトライ回数が増えると max_wait_time が大きくなるため、ランダムに選ばれる
待機時間も自動的に増加
Exponential Backoff And Jitter - AWS Architecture Blog
DynamoDB
4秒 + ランダム秒数置いてリトライ
同時ではなくバラバラにアクセスが来るので
順番にゆっくり処理できる
4秒 + ランダム秒数置いてリトライ
4秒 + ランダム秒数置いてリトライ