SPONSORED

リトライストーム(りとらいすとーむ)

最終更新:2026/4/28

リトライストームは、マイクロサービスアーキテクチャにおいて、一時的な障害によりサービスAがサービスBを呼び出し、その呼び出しが失敗した場合に、サービスAが短時間に大量のリクエストを再試行することで、サービスBに過負荷をかける現象。

別名・同義語 再試行嵐

ポイント

リトライストームは、分散システムにおけるカスケード障害の一種であり、サーキットブレーカーパターンなどの対策が有効である。再試行間隔の調整や、指数バックオフなどの戦略も重要。

リトライストームの概要

リトライストームは、マイクロサービスアーキテクチャにおいて、あるサービスが別のサービスを呼び出す際に発生する可能性のある問題です。一時的なネットワーク障害や、サービス側の過負荷などにより、最初の呼び出しが失敗することがあります。この際、呼び出し元のサービスが単純にリクエストを再試行すると、短時間に大量のリクエストが宛先サービスに集中し、宛先サービスに過負荷をかける可能性があります。これがリトライストームです。

リトライストームが発生するメカニズム

リトライストームは、以下のようなメカニズムで発生します。

  1. 初期障害: サービスAがサービスBを呼び出す際、一時的な障害が発生し、呼び出しが失敗します。
  2. リトライ: サービスAは、設定されたリトライポリシーに従い、短時間間隔でリクエストを再試行します。
  3. リクエスト集中: 複数のサービスAが同時にサービスBを呼び出し、同様にリトライを繰り返すと、サービスBに大量のリクエストが集中します。
  4. 過負荷: サービスBは、大量のリクエストに対応できず、過負荷状態に陥ります。
  5. カスケード障害: サービスBの応答遅延やエラーが、さらに他のサービスに影響を与え、カスケード障害を引き起こす可能性があります。

リトライストームへの対

リトライストームを防ぐためには、以下のような対策が有効です。

  • サーキットブレーカーパターン: 宛先サービスが過負荷状態にある場合、呼び出しを一時的に停止し、宛先サービスの回復を待ちます。
  • 指数バックオフ: リトライ間隔を徐々に長くすることで、宛先サービスへの負荷を軽減します。
  • ジッター: リトライ間隔にランダムな変動を加えることで、リクエストの集中を避けます。
  • レートリミット: 呼び出し元のサービスからのリクエスト数を制限することで、宛先サービスへの過負荷を防ぎます。
  • 監視とアラート: 宛先サービスの負荷状況を監視し、異常な負荷が発生した場合にアラートを発行します。

関連用語

SPONSORED