X(Twitter) Zenn GitHub RSS 共有

運用

作成日時:2025-07-22
更新日時:2025-07-26

カスケード障害

システムの一部で発生した障害が連鎖的に波及し、システム全体に影響を及ぼす現象を指す。
2021年のみずほ銀行みたいなやつ。

サーキットブレーカー

障害発生時にタイムアウトまで待たせず、即遮断する。

RASIS - Wikipedia

キャッシュスタンピード/ドッグパイル

キャッシュが切れた時、オリジンへ大量のアクセスが発生すること。

対策

ZOZOTOWNリニューアルで実施したCache Stampede対策 - ZOZO TECH BLOG

タイムアウト

タイムアウトしても処理は続く。
クライアントに返しただけで、バックは継続。

検索結果が多すぎて応答が遅い場合

下記の方法がある。

  1. 一般的なページング。ページリンクを押したら、オフセット使用して取得する。
  2. 検索結果を既定の件数で打ち切り、それ以降の情報が欲しければ、検索条件を指定するように促す。
    1. 規定件数 + 1でLIMITして、件数 = 規定件数 + 1ならば、超えているという判定。
  3. 検索条件を必須にする。
  4. chunkById

ストラングラーパターン

システム移行戦略「レガシーミミックパターン」&「ストラングラーフィグパターン」とは? - Qiita

ファサードを建てて、ルーティングを切り替える。

ストラングラーフィグパターンとフィーチャーフラグによる段階的かつ安全な移行方法について - Mirai Translate TECH BLOG

フィーチャーフラグはコード上だけでなく、インフラ上での切り替えもできる。
リバプロ、サイドカーにおけるプロキシ、ファサードにおいてどこかからフラグを取得して切り替えるのもあり。

インフラ

基本的に機能はどこのサーバーに置いてもいい。

SSL終端をLBにやらせたりサーバーにやらせたり。
WAFに金がかかるならWEBサーバーに入れれば?ModSecurityとか

ProxyによるIPの隠蔽

高負荷回避

DB

別のDBなどに保存して、後で反映。

AP

制限設けて429を返すとか。

ログ抑止

Apache

ErrorLog nul
CustomLog “/dev/null” common

ログ出力

当然ながら大量に書き込むとパフォーマンスは低下する。
しかもそれが並列プロセスから書き込みされるならば、1時間単位で処理が遅くなったりする。
書き込み待ちとかで。

ログ