redisはプライマリ・スレーブ・レプリケーションと高可用性を実現する(プライマリ・スレーブ・スイッチング)
2406 ワード
単一のredisサーバで圧力が大きすぎる場合は、redisプライマリ・スレーブ・レプリケーション、プライマリ・マスター・レプリケーション・ライト、slaveレプリケーション・リードを考慮します.
サーバのストレスを軽減
次にreidsのプライマリ・スレーブ・レプリケーションを構成します
127.0.0.1:6379(メイン)
127.0.0.1:6380(から)
127.0.0.1:6381(から)
プライマリ・スレーブ・レプリケーションは、主に4つのフェーズを経験します.
第1段階:slaveとmasterとの接続第2段階:slaveがmasterに同期要求を開始する第3段階:slaveはmasterからのdumpを受け入れる.rdbデータの第4段階:slaveはdumoにロードする.rdbファイル
1.まず3つのredisインスタンスがあり、1つのredisをインストールし、2つのredisをコピーする
/etcフォルダに入るとredisになります.conf 2部コピー
2.redisを別々に配置する.confの異なるportの異なるpidの異なるredisフォルダ
マスターのredisを設定します.conf
3.次にslave 1のredisを配置する.conf
4.次にslave 2のredisを構成する.conf
5.構成が完了したら、この3つのredisをオンにします.
6.起動成功後、図のように
7 masterでredis-cliに入りinfo情報を表示する
上の図に示すように、キャラクタ情報はmaterであり、2つのスレーブはそれぞれ63806381である.
8.注意:masterは書き込み、slaveは読み、master-cliでテストします
まずはマスターをテストしてみましょう
上からredisは書き込みのみ許可されたsetで、読み取り禁止のgetであることがわかります
9.マスターコピーをテストする
masterはキーtestの設定を書き込み、値は1111です.
slaveは図のようにtestを取り出し、値は11111です.
しかし、主従の主がダウンタイムが発生すると、データが切れ、データが書き込めなくなるに違いない.reidsの著者もそれを考えているので、redis 2.6以上の中にreidsの監視ソフトsentinel(哨兵)があり、sentinelはredisの主従が存在するかどうかを監視し、監視から主が切れた場合、主従に昇格する
このredisのsentinelを以下に配置する.config
port 26379
サーバのストレスを軽減
次にreidsのプライマリ・スレーブ・レプリケーションを構成します
127.0.0.1:6379(メイン)
127.0.0.1:6380(から)
127.0.0.1:6381(から)
プライマリ・スレーブ・レプリケーションは、主に4つのフェーズを経験します.
第1段階:slaveとmasterとの接続第2段階:slaveがmasterに同期要求を開始する第3段階:slaveはmasterからのdumpを受け入れる.rdbデータの第4段階:slaveはdumoにロードする.rdbファイル
1.まず3つのredisインスタンスがあり、1つのredisをインストールし、2つのredisをコピーする
/etcフォルダに入るとredisになります.conf 2部コピー
2.redisを別々に配置する.confの異なるportの異なるpidの異なるredisフォルダ
マスターのredisを設定します.conf
,
3.次にslave 1のredisを配置する.conf
pidfile /var/run/redis1.pid # pid
port 6380 # port
dir /usr/local/redis1 #
slaveof 127.0.0.1 6379 # ip
4.次にslave 2のredisを構成する.conf
pidfile /var/run/redis2.pid # pid
port 6381 # port
dir /usr/local/redis2 #
slaveof 127.0.0.1 6379 # ip
5.構成が完了したら、この3つのredisをオンにします.
6.起動成功後、図のように
7 masterでredis-cliに入りinfo情報を表示する
上の図に示すように、キャラクタ情報はmaterであり、2つのスレーブはそれぞれ63806381である.
8.注意:masterは書き込み、slaveは読み、master-cliでテストします
まずはマスターをテストしてみましょう
上からredisは書き込みのみ許可されたsetで、読み取り禁止のgetであることがわかります
9.マスターコピーをテストする
masterはキーtestの設定を書き込み、値は1111です.
slaveは図のようにtestを取り出し、値は11111です.
しかし、主従の主がダウンタイムが発生すると、データが切れ、データが書き込めなくなるに違いない.reidsの著者もそれを考えているので、redis 2.6以上の中にreidsの監視ソフトsentinel(哨兵)があり、sentinelはredisの主従が存在するかどうかを監視し、監視から主が切れた場合、主従に昇格する
このredisのsentinelを以下に配置する.config
port 26379
port 26379
#master
sentinel monitor master1 127.0.0.1 6379 1 # redis ip 1
sentinel down-after-milliseconds master1 3000 #
sentinel failover-timeout master1 900000
sentinel can-failover master1 yes
sentinel parallel-syncs master1 2
: /usr/lcoal/redis
redis-server sentinel.conf --sentinel
:http://www.linuxidc.com/Linux/2013-11/92287p2.htm