ホームページ  >  記事  >  データベース  >  Redis セントリー モードの原理

Redis セントリー モードの原理

Guanhui
Guanhuiオリジナル
2020-06-01 15:03:463665ブラウズ

Redis セントリー モードの原理

Redis Sentry モードの原則

Sentinel モードは特別なモードです。まず、Redis は Sentinel コマンドを提供します。Sentinel は独立したモードです。原則として、センチネルはコマンドを送信し、Redis サーバーの応答を待つことで、実行中の複数の Redis インスタンスを監視します。

Linux - redis Sentinel クラスター インスタンス

コマンド配置

公式 Web サイトのアドレス: http://redisdoc.com/

redis-cli info #查看redis数据库信息
redis-cli info replication #查看redis的复制授权信息
redis-cli info sentinel   #查看redis的哨兵信息

構成プロセス

アイデア:

redis マスター/スレーブ

1マスターと2つのスレーブ計画

1. 環境準備、1つのマスターと2つのスレーブのredisアーキテクチャを準備します

redis-6379.conf

port 6379
daemonize yes
logfile "6379.log"
dbfilename "dump-6379.rdb"
dir "/opt/redis/6379/"
redis-6380.conf
port 6380
daemonize yes
logfile "6380.log"
dbfilename "dump-6380.rdb"
dir "/opt/redis/6380/"
slaveof  127.0.0.1  6379
redis-6381.conf
port 6381
daemonize yes
logfile "6381.log"
dbfilename "dump-6381.rdb"
dir "/opt/redis/6381/"
slaveof  127.0.0.1  6379

2. 3つを準備しますデータ フォルダー

mkdir -p  /opt/redis/{6379,6380,6381}

3。 3 つのデータベースをそれぞれ起動します

[root@master sbredis]# redis-server redis-6379.conf 
[root@master sbredis]# redis-server redis-6380.conf 
[root@master sbredis]# redis-server redis-6381.conf

4. マスター/スレーブの状態を検出します

redis-cli -p 6379   info replication
redis-cli -p 6380   info replication
redis-cli -p 6381   info replication

5. マスター/スレーブの状態を検出するために 3 つの Redis センチネルを準備します

3 つのセンチネル ファイル

redis-26379.conf

// Sentinel节点的端口
port 26379  
dir /var/redis/data/
logfile "26379.log"
// 当前Sentinel节点监控 192.168.119.10:6379 这个主节点
// 2代表判断主节点失败至少需要2个Sentinel节点节点同意
// mymaster是主节点的别名
sentinel monitor mymaster 192.168.119.10 6379 2
//每个Sentinel节点都要定期PING命令来判断Redis数据节点和其余Sentinel节点是否可达,如果超过30000毫秒30s且没有回复,则判定不可达
sentinel down-after-milliseconds mymaster 30000
//当Sentinel节点集合对主节点故障判定达成一致时,Sentinel领导者节点会做故障转移操作,选出新的主节点,
原来的从节点会向新的主节点发起复制操作,限制每次向新的主节点发起复制操作的从节点个数为1
sentinel parallel-syncs mymaster 1
//故障转移超时时间为180000毫秒
sentinel failover-timeout mymaster 180000
redis-26380.conf
port 7000
daemonize yes
dir "/opt/data"
logfile "7000.log"
dbfilename "dump-7000.rdb"
cluster-enabled yes   
cluster-config-file nodes-7000.conf
cluster-require-full-coverage no
redis-26381.conf

3 つの構成ファイル (ポートのみが異なります) は、コマンド

[root@master sbredis]# sed "s/26379/26380/g"  redis-26379.conf   >  redis-26380.conf  
[root@master sbredis]# sed "s/26379/26381/g"  redis-26379.conf   >  redis-26381.conf

6 を使用して構成ファイルをすばやく生成します。

[root@master sbredis]# redis-sentinel redis-26379.conf 
[root@master sbredis]# redis-sentinel redis-26380.conf 
[root@master sbredis]# redis-sentinel redis-26381.conf

7. センチネル、マスター/スレーブのステータスを検出します

redis-cli -p 26379  info sentinel

次の情報が表示されたら、あなたは私と同じです

[root@master sbredis]# redis-cli -p 26379  info  sentinel
Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=s17ms,status=ok,address=127.0.0.1:6379,slaves=2,sentinels=3

8. テストして、マスター Redis を起動し、自動的に切り替わるかどうかを確認します

ps -ef|grep redis
    kill 进程
    ..

9. redis 6379 を再度起動して、マスター/スレーブ クラスターに参加しているかどうかを確認します

redis-server redis-6379.conf

推奨チュートリアル: 「Redis チュートリアル#」 ##"



以上がRedis セントリー モードの原理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。