🎯 レッスンの目的__HTMLTAG_68___
- ✅ Redis Sentinel とクラスター モードを理解する — いつ何を使用するか
- ✅ Redis Sentinel HA を Kubernetes にデプロイ
- ✅ Redis クラスター モードのデプロイ (シャーディング)
- ✅ 永続化構成: RDB と AOF
- ✅ キャッシュ戦略とベスト プラクティス
- ✅ Prometheus を使用した Redis の監視
パート 1: REDIS HA — SENTINEL 対 CLUSTER
コードブロック_0
| 機能 | センチネルモード | クラスターモード |
|---|---|---|
| データ配布 | マスター上のすべてのデータ | シャーディング (ハッシュ スロット) |
| 最大データセット サイズ | 単一ノード RAM_ | _すべてのマスター RAM の合計_ |
| リードスケーリング_ | リードレプリカ_ | _シャードごとのリードレプリカ_ |
| 書き込みスケーリング_ | 単一マスターのみ | 複数マスター (水平) |
| フェイルオーバー | Sentinel クォーラム投票 | 組み込み (ゴシップ プロトコル) |
| マルチキー操作 | サポート | 同じハッシュスロット({tag})のみ |
| 複雑さ | シンプル | さらに複雑 |
| 最適な用途 | キャッシュ、セッション (<32GB)_ | 大規模なデータセット、高い書き込みスループット__HTMLTAG_161___ |
パート 2: REDIS SENTINEL HA
のデプロイ2.1. Bitnami Helm Chart
を使用してインストールする ___コードブロック_1___2.2.カスタム値ファイル (詳細)
___コードブロック_2___コードブロック_3
パート 3: REDIS クラスター モードのデプロイ
コードブロック_4
コードブロック_5
パート 4: 永続性 — RDB と AOF
| 機能 | RDB (スナップショット) | AOF (追加専用ファイル) | RDB + AOF |
|---|---|---|---|
| メカニズム | ポイントインタイムスナップショット | すべての書き込み操作をログ | 両方 |
| データ損失_ | 最後のスナップショットまで | ~1 秒 (毎秒 appendfsync) | 最小限 |
| 回復速度 | 速い(バイナリのロード) | 遅い(再生操作) | 最初にRDBを使用 |
| ディスク I/O | 周期的バースト (フォーク) | 連続 (小規模書き込み) | 両方 |
| ファイル サイズ | コンパクト_ | 大きい (書き換えが便利) | 両方のファイル |
| 最適な用途 | キャッシュ (許容損失) | セッション ストア (最小限の損失) | 本番環境 (推奨) |
コードブロック_6
パート 5: キャッシュ戦略
コードブロック_7
コードブロック_8
パート 6: アプリケーション接続
コードブロック_9
パート 7: 監視
コードブロック_10
コードブロック_11
💡 重要なポイント
- _Sentinel: シンプルな HA、シングルマスター、__HTMLTAG_273___ に適しています
- クラスター: 水平スケーリング、マルチマスター、大規模なデータセット用
- 永続性: 実稼働用の RDB + AOF、耐久性とパフォーマンスのバランス
- maxmemory-policy: キャッシュ用に最も一般的な allkeys-lru
- _キャッシュアサイド: 推奨パターン、書き込み時に無効化
- モニター: キャッシュ ヒット率 > 90%、メモリ使用量、エビクション
🎯 演習
演習 1: Redis Sentinel フェイルオーバー
- Redis Sentinel 3 ノードのデプロイ
- マスターにデータを書き込み、マスター ポッドを強制終了
- Sentinel がレプリカをプロモートし、データがそのままであることを確認__HTMLTAG_306___
演習 2: ベンチマーク
- redis-benchmark の実行: 100,000 キーの SET/GET
- レイテンシーの比較: 永続性の有無__HTMLTAG_314___
- メモリ断片化率を監視
📚 次の投稿
__HTMLTAG_322___レッスン 24: Istio サービス メッシュ アーキテクチャ では、サービス メッシュを学習し、マイクロサービス通信用に Istio をデプロイします。