主从复制-复制原理和一主二从
1. 一主两从
-
当一个从服务器挂掉了,再次启动会变成主服务器,之后再设置为某一主机的从机时,该从机会将主机的所有数据全部复制。
-
当主机挂掉了,从服务器不会做任何事,主机也不会改变,当主机重启时,也不会忘掉之前的从机
# 从机信息 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. 复制原理
- 当从机连接上主机之后,从服务器向主服务器发送进行同步消息
- 主机接到从服务器发送过来的同步消息后,主服务器会将数据持久化成RDB文件,把rdb文件发送给从服务器,从服务器读取rdb文件,加载数据
- 每次主机经行写操作之后,会主动和从服务器同步
- 只要重新连接master 一次完全同步(全量复制)将被自动执行
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决