変更管理・自動化 / 信頼性設計
バックプレッシャーとは
Backpressure。処理する側が追いつかないとき、上流へ流量抑制を伝えて全体の破綻を防ぐ考え方です。
用語集内のカードを見る変更管理・自動化 / 信頼性設計
Backpressure。処理する側が追いつかないとき、上流へ流量抑制を伝えて全体の破綻を防ぐ考え方です。
用語集内のカードを見るバックプレッシャーを、定義だけで終わらせず、現場で出てくる場面、確認材料、見落としやすい点、関連語とのつながりまで順に確認できます。
バックプレッシャーは、処理する側が追いつかないとき、上流へ流量抑制を伝えて全体の破綻を防ぐ考え方です。キュー、ストリーミング、API、ログ転送、マイクロサービス間通信でよく問題になります。
下流が遅いのに上流が同じ量を送り続けると、キューが膨らみ、メモリが尽き、タイムアウトやリトライが増え、さらに負荷が上がります。バックプレッシャーは、この悪循環を早めに止めるための設計です。
ログ基盤が詰まってアプリが重くなる、メッセージキューの消費者が追いつかず遅延が増える、外部APIが遅いのにリトライが殺到する、といった場面で登場します。単なる性能問題ではなく、障害の広がり方を制御する話です。
設計時には、待つ、捨てる、遅らせる、失敗を返す、別経路に逃がす、という選択肢を用途ごとに決めます。
確認では、キュー長、処理時間、消費速度、リトライ回数、タイムアウト、ドロップ件数、上流へのエラー返却を見ます。ログやメトリクスでは、平均値よりもp95/p99や急増タイミングが役立ちます。
キューを大きくすれば解決、とは限りません。キューは一時的な吸収には役立ちますが、処理能力が足りない状態を隠すだけになることもあります。
また、バックプレッシャーは単にエラーを返すことではありません。利用者影響、データ損失、再試行、順序性を考え、どの層でどのように抑制するかを決める設計です。
バックプレッシャーを設計しておくと、障害時に全体停止ではなく劣化運転へ移りやすくなります。たとえば低優先ログを捨て、重要イベントだけ保存し、APIには429や503を明示的に返す、といった判断ができます。
関連語はレート制限、キュー、スループットです。処理能力、利用者影響、再試行のバランスを見ると、システムの粘り強さを設計しやすくなります。
同じ主要カテゴリの用語をまとめて確認できます。現在の用語を起点に、前後の用語へ進むと文脈を保ったまま読み進められます。