歩哨の効果をRedisでシンプルかつ直感的に確認

Sentinelは、別個のredisプロセスでもあります。外部サービスを提供しません。主に、マスターデータベースとスレーブデータベースの動作を監視するために使用されます。次に、マスターデータベースに障害が発生すると、スレーブデータベースをマスターデータベースにアクティブにアップグレードし、手動での切り替えを回避します。操作。

最初にポート6379でプライマリデータベースとしてredisインスタンスを開始し、次の2つのコマンドを使用して2つのredisサービスを開始します。ポートはそれぞれ6380と6381であり、ポート6379でredisサービスのスレーブデータベースとして指定されています。

redis-server /usr/local/etc/redis.conf --port 6380 --slaveof 127.0.0.1 6379
redis-server /usr/local/etc/redis.conf --port 6381 --slaveof 127.0.0.1 6379

ここに画像の説明を挿入
この時点でポート6379 マスターデータベースのレプリケーション情報を確認します。マスターデータベースには現在2つのスレーブデータベースがあり、ポートはそれぞれ6380と6381です。

次に、番兵を構成し、sentinel.confという名前の構成ファイルを作成します。ファイルの内容は次のとおりです。

# 配置监听的主服务器
sentinel monitor masterone 127.0.0.1 6379 1
sentinel monitor 表示哨兵监控

masterone表示自己要监控的主数据库的名字,可以自定义。不过这个名字必须只能由大小写字母、数字和“.-_”这 3 个字符组成。

127.0.0.1 6379表示要监控服务的ip地址和端口号。

1表示最低通过票数,代表只有1个或1个以上的哨兵认为主数据库主观下线的时候,才会进行故障切换(failover)操作。

次のように:ここに画像の説明を挿入
コマンドを使用して、次のようにredis-sentinel +哨兵配置文件的地址監視サービス開始します。ここに画像の説明を挿入
次の情報を出力します。ここに画像の説明を挿入

1表示哨兵进程的运行id
2表示哨兵经常监控的主数据库
3,4表示哨兵已经自动发现了它监控的主数据库下的两个从数据库

次に、次のようにポート6379でメインデータベースを閉じます。ここに画像の説明を挿入
しばらく待機します。デフォルトは30秒です。センチネルは次のように表示されます。ここに画像の説明を挿入

1的+sdown表示sentinel主观上的认为6379端口的服务已经停止了,这是sentinel自己作出的判断。
2的+odown表示sentinel客观上的认为6379端口的服务已经停止了,不过客观下线是需要一定数量的sentinel达成一致意见才能认为一个master已经停止了服务,由于此时只有一个sentinel,所以也做了客观下线。
3表示达到了failover条件,要开始执行故障恢复,等待其他sentinel的选举,挑选出一个从数据库,将其升格为主数据库。
4表示故障恢复完成。
5表示从数据库127.0.0.1:6380被升格为了主数据库。
6,7表示新的主数据库有两个从库,分别为127.0.0.1:6379 ,127.0.0.1:6381,此时127.0.0.1:6379 服务虽然已经断开,但是哨兵并没有清除该无效实例,是为了实例恢复后,方便重新加入时以从数据库的身份继续服务。
8表示发现127.0.0.1:6379服务已经宕机,等待恢复。

この時点で、次のようにポート6380のサービスのレプリケーション情報を確認します。ここに画像の説明を挿入
ポート6380のサービスがこの時点でプライマリデータベースであり、ポート6381のredisサービスであるスレーブライブラリが接続されていることがわかります。

この時点で、6379サービスを再起動しここに画像の説明を挿入
センチネルの出力を確認します。出力を確認すると、ポート番号6379のredisインスタンスがサービスを再開していることがわかります。

次に、次のように、この時点でプライマリデータベースとしての6380インスタンスのレプリケーション情報をここに画像の説明を挿入
確認します。ポート番号6379のredisインスタンスが復元されたことが検出されると、ポート番号6380のサービスインスタンスのスレーブデータベースとして設定されます。

最後に、ポート番号6379のredisインスタンスのレプリケーション情報を次のようにここに画像の説明を挿入
確認します。ポート番号6379のredisインスタンスの役割はすでにスレーブデータベースであり、そのプライマリデータベースはポート番号6380のサービスインスタンスであることがわかります。

おすすめ

転載: blog.csdn.net/weixin_38106322/article/details/108522417