Skip to content

リトライ間隔 ― 500ms は適切か?

📖この章のキーワード
用語意味なぜ重要か
固定間隔リトライ同じ間隔で何度もリトライする方式一定だが過負荷時に問題
エクスポネンシャルバックオフリトライ間隔を段階的に広げる方式10秒→60秒→5分 等
Thundering Herd大量のクライアントが同時にリトライする現象過負荷をさらに悪化させる

Phase 1: 観察

2 つのリトライ設計を比較します。

php
// WebhookController.php — 外部Webhook転送
// Label: trade-off
Http::timeout(5)->retry(2, 500)->send('POST', $url, ...);
// → 500ms 間隔で 2 回リトライ(固定間隔)
php
// PartnerResultWebhook.php — 結果Webhook
// Label: exemplar
public int $tries = 3;
public array $backoff = [10, 60, 300];
// → 10秒、60秒、5分と広げながらリトライ

Phase 2: 判断

AI禁止ゾーン
  • Webhook 転送の retry(2, 500)適切ですか? どんな場合に問題になりますか?
  • PartnerResultWebhook の $backoff = [10, 60, 300] との 違い は何ですか?
  • 全ての外部 API 呼び出しに 同じリトライ戦略 を使うべきですか?

AIに聞く前に、自分の頭で考えてみましょう。

テキストを入力すると有効になります