Redis から Valkey への OSS シフト
Redis ライセンス変更で OSS 派生の Valkey が誕生し、AWS/GCP 等も対応を進めています。本記事では編集部の視点で、Cluster モードの実務を公開情報をもとに整理します。Redis 実践 もご参考に。
Redis Cluster の仕組み
(1) 16384 slot:キー空間の分割。(2) 各ノードが slot 範囲を担当。(3) master + replicaでHA。(4) Gossip protocol:ノード間通信。(5) resharding:slot 移動。
Valkey の特徴
(1) BSD ライセンス:従来通り OSS。(2) Redis 7.2 互換から派生(公開情報をもとに)。(3) AWS/GCP がスポンサー。(4) The Linux Foundation 管理。(5) クラウドサービス:ElastiCache 等で対応。
クラスタ設計
(1) 最小 6 ノード(3 master + 3 replica)。(2) 1 master あたり 1 replica 以上。(3) マルチAZ 配置。(4) VPC 内通信:レイテンシ最小。(5) キー設計:hash tag で同一 slot 強制。
クライアント側の注意
(1) cluster-aware ライブラリ必須。(2) MOVED/ASK リダイレクト処理。(3) マルチキー操作の制限:同一 slot のみ。(4> 接続プール:複数ノード対応。(5) pipelining:cluster でも有効。
運用のポイント
(1) 監視:cluster info / 各ノードメモリ。(2) resharding:負荷分散の再配置。(3) scale out/in:ノード追加/削除。(4) バックアップ:各 master でRDB。(5) セキュリティ:ACL/TLS。Observability 実践 もご参考に。
マネージドサービス
(1) AWS ElastiCache:Redis + Valkey 対応(公開情報をもとに)。(2) Google Memorystore。(3) Upstash:サーバーレス。(4) Azure Cache。(5) セルフホスト vs マネージド:規模で判断。
失敗しがちなパターン
(1) マルチキー操作で失敗:CROSSSLOT エラー。(2) cluster-aware ライブラリ未使用。(3) 1 master 過負荷:hot key 問題。(4) resharding で性能低下。(5) 監視不足。対策は、(1)hash tag 活用、(2)正しいライブラリ、(3)key 分散、(4)業務外時間、(5)モニタリング必須、です。