inflearn logo
知識共有
inflearn logo

コマースキャッシュの設計 — ローカル・分散・DBの間でトラフィックの急増に耐える方法

セール開始時のトラフィックで破綻する商品・イベントAPIを、ローカルL1+リモートL2+スタンピード防止+無効化+キルスイッチで改善し、同じ負荷条件で帯域幅・レイテンシ・DB負荷がどれだけ減ったかを前後の数値で実証します。

2名 が受講中です。

難易度 中級以上

受講期間 無制限

Node.js
Node.js
PostgreSQL
PostgreSQL
Redis
Redis
k6
k6
cache
cache
Node.js
Node.js
PostgreSQL
PostgreSQL
Redis
Redis
k6
k6
cache
cache

この講座で身につくこと

  • 大きなキー・ホットキーを特定し、キーサイズ × リクエスト数(バイト基準)で表を作成して、同じ負荷・同じ時間枠で変更前後を比較し、キャッシュ変更の効果を数値で報告します。

  • ローカルL1+リモートL2の二層キャッシュを設計し、サイズとTTLを根拠に基づいて決定し、帯域幅の制限下でリモートキャッシュがなぜ破綻するのかを説明します。

  • single-flight・分散ロック・確率的な早期更新・TTLジッター・ネガティブキャッシュでスタンピードを防ぎ、イベント無効化・バージョンキーで整合性ウィンドウをポリシーとして設定します。

  • ランキングをソート済みセットで提供し、二重書き込み・復旧・サーキットブレーカー・キルスイッチ、およびレスポンス契約を設計します。

同じ負荷で失敗3,567件→0件、リモートキャッシュの送信量200.7MB→4.6MB。負荷に耐えられないコマースAPIを自ら修正し、修正前後の数値で効果を証明することが、この講義の最終成果物です。

セール開始時のトラフィックで破綻する商品・イベントAPIを、ローカルL1+リモートL2+スタンピード防止+無効化+キルスイッチで改善し、同じ負荷条件で帯域幅・レイテンシ・DB負荷がどれだけ減ったかを、改善前後の数値で証明します。

Redisのコマンドやデータ構造を一つずつ学ぶ講義ではありません。小規模な開発チームが運営する、バーチャルスポーツ・アウトドア専門モール 「ループマーケット」のシーズンオフフェスタ開催時のトラフィックをDockerの実習環境で再現し、キャッシュがあるのにサービスが破綻する原因(大きなレスポンスによる帯域幅の消費、ホットキー、スタンピード、一貫性ウィンドウ、エビクションポリシーの競合、ノイジーネイバー、コストの高いセクション)を一つずつ測定してから改善します。数値はすべて実習で実際に測定したもので、各講義は「手順を実行する → 結果を確認する → わざと壊してみる」の順で進みます。

この講義を終えると

  • ビッグキー・ホットキーを見つけ、キーサイズ×リクエスト数(バイト基準)で表を作成する

  • 同じ負荷・同じ期間で変更前後を比較し、キャッシュ変更の効果を数値で報告する。

  • ローカルL1+リモートL2の二層キャッシュを設計し、サイズ・TTLを根拠に基づいて決定する。

  • single-flight・分散ロック・確率的な早期更新・TTLジッター・ネガティブキャッシュでスタンピードを防ぐ。

  • イベントによる無効化・バージョンキーで整合性ウィンドウを縮小し、データごとのポリシードキュメントを作成する。

  • ランキングのような順序データをソート済みセットで提供し、二重書き込み・復旧・サーキットブレーカーを設計する。

  • 共有キャッシュを専用に分離する根拠(エビクションポリシーの競合・ノイジーネイバー)を測定によって作る。

  • 高コストなセクションだけを無効化するキルスイッチと、レスポンスの契約を定める

こんな方におすすめです

  • セールやイベントのたびにキャッシュ・DB障害を経験するECバックエンド開発者

  • Redis Cache Asideは使ったことがあるものの、その次の段階(帯域幅・スタンピード・無効化)に悩んでいる方

  • キャッシュ変更の効果を数値で報告する必要がある開発リード

カリキュラム(9セクション・32レッスン・約194分)

  • セクション0. 最終目標のデモ — 完成した成果を先に確認する

  • セクション1. 実習環境とベースライン — 実習環境の起動、ループマーケットAPIとデータ、負荷発生ツールとダッシュボード、ベースライン:キャッシュなしではDBが破綻する

  • セクション 2. リモートキャッシュの落とし穴 — 帯域幅 — キャッシュアサイドでリモートキャッシュを接続する、大きなレスポンスが帯域幅を消費する、キーサイズの分布を測定する、同じウィンドウで前後を比較する測定方法、圧縮と分割は根本的な解決ではない

  • セクション3. ローカルL1 + リモートL2の二層キャッシュ — ローカルキャッシュをL1にする、L1のサイズとTTLを決める、複数インスタンスと一貫性ウィンドウ、L1導入前後の同一ウィンドウでの比較、L1の落とし穴

  • セクション4. ホットキーとスタンピード — ホットキーの特定、キャッシュスタンピードの再現、ロックとsingle-flight、確率的早期更新、TTLジッターとネガティブキャッシュ

  • セクション5. 無効化と一貫性ウィンドウ — イベントベースの無効化、バージョンキー、一貫性ウィンドウをポリシーとして活用する

  • セクション6. DBと順序データ — DBのバッファキャッシュはアプリから制御できない、ソート済みセットによるランキングの提供、サーキットブレーカーとフォールバック

  • セクション7. 運用 — 分離・キルスイッチ・可観測性 — 専用クラスターに分離する判断、ノイジーネイバーの測定、キルスイッチと応答契約、キャッシュ可観測性ダッシュボード

  • セクション8. キャップストーン — キャップストーン:すべて有効にして同じ負荷で実証、全体チェックリストとまとめ

実習環境

Docker Compose一つで、ループマーケットの商品・イベントAPI(Node.js、2台)+Redis互換サーバー(実習ではValkey)のプライマリ・レプリカノード+PostgreSQL+k6負荷生成ツール+Prometheus・Grafanaを起動します。レプリカノードの送信帯域幅制限はtcで再現します。フィーチャーフラグでL1・スタンピード防止・無効化・キルスイッチを再ビルドなしで切り替えられ、32個のシナリオスクリプトで講義のすべての結果をそのまま再現できます。実習資料(ZIP)を提供します。

前提知識

  • SpringまたはNode.jsのいずれかでAPIを作成した経験

  • Redisの基礎(GET/SET/TTL)

  • Docker・ターミナルの基本的な使い方

この講義で扱わない内容

  • Redisのインストール・コマンド入門

  • クラスターシャーディングの内部実装

  • クラウド管理型サービスのコンソール設定

ご案内

講義のナレーションは合成音声(AI)で制作しました。すべてのデータは教育用の仮想データであり、数値は実行環境によって異なる場合があります。

次のような方に
おすすめです

受講対象

  • セール・イベントのたびにキャッシュ・DB障害に悩まされるコマースバックエンド開発者

  • キャッシュアサイドは使ったことがあるものの、帯域幅・スタンピード・無効化に悩んでいる方

  • キャッシュ変更の効果を数値で報告しなければならない開発リード

前提知識

  • SpringまたはNode.jsのいずれかを使ってAPIを作成した経験

  • Redisの基礎(GET/SET/TTL)

  • Docker・ターミナルの基本操作

こんにちは
dorian05202988です。

経歴認証済み

20年以上にわたりデータベースとIT分野でキャリアを積んできたデータ職人です。DBAおよびDB Platformチームのマネージャーとしてデータベースプラットフォームに携わり、MySQL・PostgreSQL・Oracle・MongoDB、SQLチューニング、AWS・Terraform・Pythonを専門分野としています。ゲーム・金融・ITサービス分野での経験をもとに、データベースとクラウドアーキテクチャについて解説しています。『オラ​​クル実務チューニング SQLパターン学習』と『Oracle Pro*C実務プロジェクト活用書』を出版し、AWS Summit 2018・2019と「データよ、遊ぼう」2020では、サーバーレス・データベースの選択・マルチデータベース戦略について発表しました。最近は、Bedrock LLMを利用したスロークエリの分析・チューニング提案、DBスペック算定の自動化、DBメタMCPサーバーとSlackボットを通じた照会フローを扱っています。開発者向けのデータベース自動化と、非開発者向けのAI業務活用について、各コースの対象者と目的に合わせた実習を通じて解説しています。AIの提案をそのまま適用するのではなく、結果の同一性・実行計画・観測条件を確認し、根拠が不足している場合は保留する判断基準を伝えています。会社の運用データや認証情報は講義資料に含めません。

もっと見る

カリキュラム

全体

32件 ∙ (3時間 13分)

講座資料:

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

まだ十分な評価が集まっていない講座です。
ぜひ最初のレビューをお寄せください。

dorian05202988の他の講座

知識共有者の他の講座はこちら

似ている講座

同じ分野の他の講座を見てみましょう!

期間限定セール

¥42

40%

¥11,491