1. 主从复制 1.1 什么是主从复制 主从复制,是将多台数据库服务器分为主节点(master)和从节点(slaver),主节点数据更新后会根据配置和策略,自动同步到从节点上,从而保证主从节点中存有相同的数据。 1.2 主从复制的作用 有了主从复制,数据可以有多份副本,这就带来了很多好处: (1)提升数据库系统的请求处理能力。 单个节点能够支撑的读流量有限。部署多个节点,并构成主从关系,主从节点一起提供服务。 (2)默认实现读写分离机制,Master 以写为主,Slave 以读为主,提升系统的缓存读写性能。 (3)容灾快速恢复,提升整个系统的可用性。 因为从节点中有主节点数据的副本,当主节点宕机后,可以立刻提升其中一个从节点为主节点,继续提供服务。 1.3 Redis 的主从复制原理 主从复制,直观的做法是主节点产生一份数据的快照发送给从节点,以快照数据为基准,将之后增量的数据变更同步给从节点,保证主从数据的一致。总体来看,主从复制一般包含全量数据同步、增量同步两个阶段。 (1)全量数据同步 主节点产生一份全量数据的快照,即 RDB 文件,并将此快照发送给从节点。且从产生快照时刻起,记录新接收到的写命令。当快照发送完成后,将累积的写命令发送绐从节点,从节点执行这些写命令。一般用于主从节点首次数据同步,完成基准数据。 (2)增量同步(命令传播) 全量数据同步完成后,主节点将执行过的写命令源源不断地发送给从节点,从节点执行这些命令,保证主从节点中数据有相同的变更,保证主从节点数据的一致。 2、Redis 主从复制机制总结 (1)一个 master 节点 可以有多个 slave 节点; (2)slave 节点故障,读请求的处理性能下降; (3)master 节点故障,写请求无法执行; (4)当 master 发生故障,可手动将其中一台 slave 使用 slaveof no one 命令提升为 master,其它 slave 执行 slaveof 命令指向这个新的 master; (5)主从复制模式的故障转移需要手动操作,要实现自动化处理,这就需要Sentinel 哨兵,实现故障自动转移。
标签:主从复制,快照,数据库,Redis,主从,master,数据,节点 From: https://www.cnblogs.com/qiqi-yi/p/17289308.html