主从复制-复制原理和一主二从

1. 一主两从

  1. 当一个从服务器挂掉了,再次启动会变成主服务器,之后再设置为某一主机的从机时,该从机会将主机的所有数据全部复制。

  2. 当主机挂掉了,从服务器不会做任何事,主机也不会改变,当主机重启时,也不会忘掉之前的从机


# 从机信息
127.0.0.1:6380> info replication
# Replication
role:slave
master_host:127.0.0.1
master_port:6479
master_link_status:down
master_last_io_seconds_ago:-1
master_sync_in_progress:0
slave_repl_offset:2147
master_link_down_since_seconds:20
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:8ab53b4c158e83b970ddc1d0088e7dc92d876320
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:2147
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:2147

# 主机重启
127.0.0.1:6479> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6481,state=online,offset=28,lag=1
slave1:ip=127.0.0.1,port=6380,state=online,offset=28,lag=1
master_replid:a0ef121ef3db92d78489b578a642141ba51f268e
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:28
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:28

2. 复制原理

  1. 当从机连接上主机之后,从服务器向主服务器发送进行同步消息
  2. 主机接到从服务器发送过来的同步消息后,主服务器会将数据持久化成RDB文件,把rdb文件发送给从服务器,从服务器读取rdb文件,加载数据
  3. 每次主机经行写操作之后,会主动和从服务器同步
  4. 只要重新连接master 一次完全同步(全量复制)将被自动执行
posted @ 2022-06-23 00:11  小罗要有出息  阅读(219)  评论(0)    收藏  举报