09
第 9 章
レプリケーションと高可用性
この章で学ぶこと
1
レプリケーションによるデータの冗長化
2
Sentinel による自動フェイルオーバー
3
Redis Cluster によるデータ分散
解説
レプリケーション
レプリケーション
マスターのデータをレプリカに非同期でコピーする仕組み
マスター
書き込みを受け付けるノード
レプリカ
マスターのデータを複製して保持する読み取り専用ノード
レプリケーション
Sentinel
Cluster
構成の選択
まとめ
解説
Sentinel
Sentinel
マスター・レプリカ構成を監視し、障害時に自動でフェイルオーバーする仕組み
クォーラム
フェイルオーバーを開始するために必要な Sentinel の合意数
自動フェイルオーバー
マスター停止時にレプリカを自動で昇格させる
レプリケーション
Sentinel
Cluster
構成の選択
まとめ
解説
Redis Cluster
Redis Cluster
データを複数のノードに分散配置し、水平スケーリングを実現する仕組み
ハッシュスロット
16,384 個のスロットにデータを分割し、各マスターに分配する
自動フェイルオーバー内蔵
Sentinel なしで、マスター停止時にレプリカが自動昇格する
レプリケーション
Sentinel
Cluster
構成の選択
まとめ
比較
3 つの構成パターンの比較
観点
レプリケーション
Sentinel
Cluster
目的
データの冗長化・読み取り分散
自動フェイルオーバー
データの分散・水平スケーリング
ノード数
マスター 1 + レプリカ N
マスター 1 + レプリカ N + Sentinel 3〜
マスター 3〜 + レプリカ 3〜
自動復旧
なし(手動切り替え)
あり
あり
データ分散
なし(全ノード同一データ)
なし(全ノード同一データ)
あり(ハッシュスロットで分割)
レプリケーション
Sentinel
Cluster
構成の選択
まとめ
まとめ
この章のまとめ
レプリケーション
マスターのデータをレプリカに非同期で複製する仕組み
Sentinel
マスターの障害を検知し、レプリカを自動的に昇格させる仕組み
Cluster
ハッシュスロットでデータを分散配置し、水平スケーリングを実現する仕組み
選択基準
データ量と可用性要件に応じて段階的に構成を選ぶ
レプリケーション
Sentinel
Cluster
構成の選択
まとめ
予告
次のセクション
Redis の位置づけと選択基準
1
Redis と代替技術(RDB、Memcached、メッセージブローカー)の比較
2
ライセンスの経緯と Valkey