Showing posts with the label Redis

Redisキャッシュスタンピードを防ぐ:分散ロックとジッターによる高負荷対策

大規模なプロモーションやイベントの開始直後、キャッシュの有効期限が一斉に切れた瞬間にデータベース(DB)が応答不能になった経験はありませんか? この記事では、Redisの運用で最も危険な「キャッシュスタンピード(ドッグパイル現象)」を、分散ロックとジッター(Jitter)を活用して確実に防ぐ手法を解説します。 TL;DR — キャッシュスタンピードは、分散ロックでDBへの問い合わせを1…
Redisキャッシュスタンピードを防ぐ:分散ロックとジッターによる高負荷対策

Cómo Evitar el Cache Stampede en Redis: Estrategias de Bloqueo y Jitter

Cuando un recurso muy solicitado expira en la caché simultáneamente, cientos de peticiones concurrentes golpean la base de datos de origen al mismo tiempo. Este fenómeno satura el backend, eleva la …
Cómo Evitar el Cache Stampede en Redis: Estrategias de Bloqueo y Jitter

Stopping API Abuse: Migrating from Fixed Window to Redis Sliding Window (Lua Implementation)

At 00:00:01, our database CPU spiked to 98%. We were supposed to have strict API Rate Limiting in place—capped at 1,000 requests per minute. Yet, monitoring logs showed nearly 2,000 requests slipp…
Stopping API Abuse: Migrating from Fixed Window to Redis Sliding Window (Lua Implementation)

RedisとLuaで実装する「正確な」APIレート制限:Fixed Windowの落とし穴と解決策

「レートリミッターを入れているのに、毎時0分0秒にデータベースのCPU使用率が100%に張り付くのはなぜだ?」 これは、私が以前担当していた大規模なEコマースプラットフォームのフラッシュセール中に直面した悪夢のようなシナリオでした。アクセスログを確認すると、確かに制限値(例:100リクエスト/分)を超えていないように見えましたが、実際にはシステムが過負荷で悲鳴を上げていました。単純なカウン…
RedisとLuaで実装する「正確な」APIレート制限:Fixed Windowの落とし穴と解決策
OlderHomeNewest