SSDB のマスター/スレーブ同期とレプリケーションの構成と監視


設定

古いバージョンの場合、slaveof.ip 指定 master 的 IP 地址, 但对于新版本(1.9.2+), 你可以通过 slaveof.hostを介してマスターのホスト名(ドメイン名)を指定する必要があります。

マスター-スレーブ

#サーバー1

replication:
    slaveof:

#サーバー2

replication:
    slaveof:        id: svc_1
    # sync|mirror, default is sync    type: sync    # use ip for older version    #ip: 127.0.0.1    # use host since 1.9.2
    host: localhost
    port: 8888


マスター-マスター

#サーバー1

replication:
    slaveof:        id: svc_2
    # sync|mirror, default is sync    type: mirror    # use ip for older version    #ip: 127.0.0.1    # use host since 1.9.2
    host: localhost
    port: 8889


#サーバー2

りー


マルチマスター

合計n個のインスタンスを含むSSDBインスタンスグループのグループでは、各インスタンスは残りのn-1個のインスタンスのスレーブである必要があります。

replication:
    slaveof:        id: svc_1
    # sync|mirror, default is sync    type: mirror    # use ip for older version    #ip: 127.0.0.1    # use host since 1.9.2
    host: localhost
    port: 8888


同期ステータスを監視する

infoコマンド返された情報

replication:
    slaveof:        id: svc_1
    # sync|mirror, default is sync    type: mirror    # use ip for older version    #ip: 127.0.0.1    # use host since 1.9.2
    host: localhost
    port: 8888
slaveof:
    id: svc_2    # sync|mirror, default is sync    type: mirror    # use ip for older version    #ip: 127.0.0.1    # use host since 1.9.2
    host: localhost
    port: 8889# ... more slaveof

binlogs

現在のインスタンスの書き込み操作ステータス

  • capacity: ビンログキューの最大長
  • min_seq: 現在のキュー内の最小のビンログシーケンス番号
  • max_seq:現在のキュー内の最大ビンログ シーケンス番号

replication

複数存在する可能性があります replication 记录. 每一条表示一个连接进来的 slave(client), 或者一个当前服务器所连接的 master(slaveof).

  • slaveof|client host:port, 远端 master/slave 的 host:port.
  • type: 类型, sync|mirror.
  • status: 当前同步状态, DISCONNECTED|INIT|OUT_OF_SYNC|COPY|SYNC.
  • last_seq: 送受信された最後のビンログのシーケンス番号
  • slaveof.id: マスターの ID (これはスレーブの観点からのものであり、マスターで設定する必要はありません。 ) 自身の ID).
  • slaveof.copy_count: 完全同期中にコピーされたキーの数。
  • slaveof.sync_count: 送受信されたビンログの数。

ステータスについて:

  • DISCONNECTED: マスターとの接続が切断されています。通常はネットワークの中断です。
  • INIT: 初期化状態です。
  • OUT_OF_SYNC: 短期間にマスター上で大量の書き込み操作が行われたため、が削除され、スレーブは同期ポイントを失い、すべてのデータを再度レプリケートする必要があります。
  • COPY: ベースライン データのコピー中に、新しい書き込み操作が時間内に同期されない可能性があります。
  • SYNC: 同期ステータスは次のとおりです。 health.

同期状態を判断します

マスターの場合、< code style="box-sizing: border-box; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 12.6ピクセル; パディングトップ: 2ピクセル; カラー: rgb(199, 37, 78); 背景色: rgb(249, 242, 244) ;">binlogs.max_seq は、現在のインスタンスの最新バージョンを参照します。書き込み (書き込み/更新/削除) 操作のシリアル番号、replication.client.last_seq は、スレーブに送信された最新の binlog のシーケンス番号を指します。binlogs.max_seq 是指当前实例上的最新一次的写(写/更新/删除)操作的序号, replication.client.last_seq 是指已发送给 slave 的最新一条 binlog 的序号.

所以, 如果你想判断主从同步是否已经同步到位(实时更新), 那么就判断 binlogs.max_seq 和 replication.client.last_seq

マスターとスレーブの同期が確立されているかどうか (リアルタイム更新) を判断し、 binlogs.max_seq および replication.client.last_seq は等しいです。
🎜