Redis-マスターコピー

2126 ワード

特長


Redisの主従レプリケーション(master-slave replication)機能は簡単で使いやすく、特徴は以下の通りである.
  • プライマリ・サーバは、複数のスレーブ・サーバ
  • を有することができる.
  • スレーブサーバは、自身のスレーブサーバ
  • を有することができる.
  • データをコピーする場合、プライマリサーバとスレーブサーバがブロックすることなく、接続要求
  • を処理することができる.
  • レプリケーションが完了すると、サーバから古いバージョンのデータセットが削除され、新しいバージョンのデータセットがロードされると、接続要求は
  • にブロックされます.
    redisのデフォルト構成では、スレーブ・サーバは読み取り専用であり、プライマリ・マルチスレーブの構造では、プライマリ・サーバが書き込み要求を処理し、結果をすべてのスレーブ・サーバに同期し、サーバからは読み取り要求のみを担当します.読み取り専用モードは、プロファイル内のslave-read-onlyオプションによって制御され、CONFIG SETコマンドによってこのモードをオンまたはオフにすることもできます.

    げんり


    参照:redisマスターコピー
    サーバから毎秒1回の頻度でPINGプライマリサーバをコピーし、レプリケーションストリームの処理状況を報告します.プライマリ・サーバは、サーバから最後にPINGが送信された時刻を記録します.
    少なくともmin-slaves-to-write個のスレーブサーバがあり、これらのサーバの遅延値がmin-slaves-max-lag秒よりも少ない場合、プライマリサーバはクライアント要求の書き込み操作を実行します.そうでなければ、書き込み操作は実行されず、プライマリ・サーバは書き込み操作を要求するクライアントにエラーを返します.
    min-slaves-to-write(書き込み操作に必要な最小サーバ数)とmin-slaves-max-lag(ネットワーク遅延の最大値)の2つのオプションで、プライマリサーバが安全でない場合に書き込みコマンドを実行することを防止できます.
    たとえば、プライマリ・サーバの設定:
    min-slaves-to-write 3
    min-slaves-max-lag 10
    

    では、スレーブサーバ数が3未満、または3つのスレーブサーバの遅延値が10秒以上の場合、プライマリサーバは書き込みコマンドの実行を拒否します.メインサーバでinfo replicationコマンドを実行することでlag値を表示できます.

    マスターコピーを開く


    注意:プライマリ・スレーブ・レプリケーションをオンにすると、サーバから元のデータが空になり、プライマリ・サーバから新しいデータが同期されます.バックアップに注意してください.
    プロファイルで開くか、クライアントからコマンドを送信して開くことができます.
  • コンフィギュレーションファイルを利用してコンフィギュレーションファイルの中で以下の命令を開き、正しいIPアドレスとポート番号を記入すればよい:
  • .
    slaveof 192.168.1.1 6379
    
  • クライアント送信コマンドからredisサーバへのクライアント接続を開始すると、slaveofコマンドを送信して、現在接続するサーバをサーバ:
  • から構成することができる.
    127.0.0.1:6379> SLAVEOF 192.168.1.1 10086
    OK
    

    マスタスレーブスイッチ


    プライマリ・サーバがダウンタイムした場合、プライマリ・サーバに切り替える必要があります.サーバからSLAVEOF NO ONEを実行すると、このサーバからレプリケーション機能がオフになり、プライマリサーバになり、元の同期で得られたデータセットは破棄されません.
    この機能により、プライマリ・サーバが失敗した場合に、セカンダリ・サーバを新しいプライマリ・サーバとして使用し、無停止で実行できます.

    マスターサーバがパスワード認証をオンにした場合


    プライマリ・サーバにパスワードが設定されている場合は、プロファイルのmasterauthパラメータを変更する必要があります.その後、slaveのRedisサービスを再起動すればいいです.
    転載先:https://www.cnblogs.com/kika/p/10851537.html