Redis は、オープン ソースのメモリ内データ ストレージ システムであり、キャッシュ、メッセージ キュー、Key-Value データベース、その他のシナリオで一般的に使用されます。大規模なアプリケーション シナリオでは、単一の Redis マシンでは需要を満たすことができない場合があり、この場合、システムの可用性とスケーラビリティを向上させるために Redis クラスターを構築する必要があります。この記事では実際にRedisクラスターを構築する手順を紹介します。
Redis クラスターをセットアップする前に、まず環境を準備する必要があります。この記事では、4 台の CentOS 7.6 仮想マシンを Redis ノードとして使用します。各仮想マシンの構成は次のとおりです。
CPU: 1 コア
メモリ: 2GB
ハードディスク: 20GB
次にインストールする必要があります。 Redis では、ソース コード コンパイル方法を使用してインストールを使用します。 Redis のダウンロード:
wget http://download.redis.io/releases/redis-5.0.8.tar.gz
Redis 解凍:
tar -zxvf redis-5.0.8.tar.gz
Redis ディレクトリに入る:
cd redis-5.0.8
Redis のコンパイル:
make
Redis のインストール:
make install
インストールが完了したら、各マシンで Redis 構成ファイル redis.conf を構成する必要があります。設定ファイルの例を以下に示します:
bind 127.0.0.1 protected-mode no port 6379 daemonize yes pidfile /var/run/redis_6379.pid logfile "/var/log/redis/redis.log" dir /var/lib/redis/6379
このうち、bind はバインドされた IP アドレスを示し、protected-mode は保護モードを有効にするかどうかを示し、port は Redis が使用するポート番号を示し、daemonize を有効にするかどうかを示します。デーモン プロセスとして開始します。pidfile はプロセス ID ファイル パスを表します。logfile はログ ファイル パスを表します。dir は Redis データ ファイル ストレージ パスを表します。
各マシンの Redis 環境を準備した後、それらを Redis クラスターに形成する必要があります。 Redis クラスターはマスター/スレーブ レプリケーション モードを採用しており、各ノードはデータ バックアップ用に対応するノードのスレーブ ノードを持ちます。
以下は Redis クラスターの構築方法の例です:
a) 構成ファイルを作成します
まず、構成ファイル redis-cluster を作成する必要があります。
port 6379 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 15000 daemonize yes pidfile /var/run/redis_6379.pid logfile "/var/log/redis/redis.log" dir /var/lib/redis/6379
このうち、cluster-enabled はクラスターモードをオンにすることを意味し、cluster-config-file はノード情報の保存ファイルを意味します。 timeout はタイムアウトを意味し、その他のパラメータは Redis ドキュメントの設定と同じです。
b) Redis ノードを開始します
次に、次のコマンドを使用して、各 Redis ノードで Redis サービスを開始する必要があります:
redis-server /etc/redis/redis-cluster.conf
c) クラスターを作成します
すべての Redis ノードで、次のコマンドを実行します:
redis-cli --cluster create node1_IP:6379 node2_IP:6379 node3_IP:6379 node4_IP:6379 --cluster-replicas 1
その中で、node1_IP:6379 node2_IP:6379 node3_IP:6379 node4_IP:6379 は、Redis ノードの IP アドレスとポート番号を表します。 -cluster-replicas はそれぞれを表します。 各ノードにはデータ バックアップ用の 1 つのスレーブ ノードがあります。実行が完了すると、Redis クラスターが正常に確立されます。
Redis クラスターの構築後、クラスターが適切に動作していることを確認するためにテストする必要があります。以下はテストプロセスです:
a) Redis クラスターに接続します
次のコマンドを使用して Redis クラスターに接続します:
redis-cli -c -h node1_IP -p 6379
このうち -c はクラスター モードで接続する場合; -h クラスター モードで接続する場合 Redis ノードの IP アドレス; -p は Redis で使用されるポート番号を示します。
b) クラスター情報の表示
次のコマンドを使用してクラスター情報を表示します:
cluster info
c) テスト データの書き込み
次のコマンドを Redis に使用しますクラスター テスト データの書き込み:
set test "redis cluster test"
d) テスト データの読み取り
次のコマンドを使用して、Redis クラスターからテスト データを読み取ります:
get test
必要に応じて、上記の操作を実行します。 success テストデータが読み取られると、Redis クラスターは正常に確立されます。
Redis クラスターを構築するプロセスは比較的単純ですが、構成ファイルとクラスター コマンドが正確であることに注意する必要があります。 Redis クラスターを使用する場合は、クラスターの可用性と拡張性を向上させるために、ノードの負荷状態とデータ バックアップの信頼性にも注意する必要があります。
以上がRedis クラスター構築の実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。