リトライが障害を悪化させる?Retry Storm Labで可視化する

Retry Storm Labは、部分的な依存関係の障害時にリトライポリシーがトラフィックを増幅させる仕組みをシミュレートするPython製の決定論的シミュレータです。新規リクエストとリトライが同じキャパシティを奪い合う状況で、即時リトライ、固定間隔、指数バックオフ、フルジッターの4つのポリシーを比較できます。障害時には同期したクライアントが需要を増幅させ、新規リクエストを枯渇させ、回復中のサービスを過負荷にし続けることを示します。このシミュレータは意図的に小規模なキューイングモデルであり、本番のキャパシティプランニングではなく、リトライのダイナミクスを理解するためのものです。
リトライは無料ではない。回復ポリシーがいつ障害そのものになるのかを確認しよう。