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
は等しいです。