redis主从复制

一、简介

1、应对问题:机器故障,存储容量瓶颈,QPS瓶颈

2、模式:一主一从,一主多从,一个master可以有多个slave,一个slave只能跟从一个maskter,数据单向传输,只能从master传向slave

3、应用场景:读写分离,数据副本,数据拓展,流量分摊等

二、流程

1、从库连接主库:slaveof ip port

2、从库发送sync信号:sync

3、主库收到sync信号,会立即触发bgsave,再讲将RDB文件发送给从库,从库收到RDB文件并加载

4、此后,主库会陆续将产生的新的操作备份并发送给从库,从库收到即加载

5、至此,即完成了主从复制的搭建

6、所有主从相关的信息在info中都可以查找到,无论重启哪个节点,主从关系都会保留

7、若主从关系断开,从库的数据不会受损,重新连接,并发送psync信号:psync

8、主库收到psync信号,会将从库缺失操作记录发送给从库,从库收到即可快速恢复

9、主库应该要开启持久化存储,否则在主库重启的时候,会造成所有数据丢失

10、从库断开主从关系:slaveof no one

11、查看信息:info replication

三、主库配置

1、min-slaves-to-write 1:从库少于1个时,主库拒绝写操作

2、min-slaves-max-lag 3:所有从库的延迟都大于等于3秒时,主库拒绝写操作

四、从库配置

1、slaveof 127.0.0.1 6379:连接的主库地址

2、slave-read-only yes:从库是否只读

五、常见问题

1、复制数据延迟,从库故障:通过配置保障

2、主从库配置不一致可能导致数据丢失:统一配置,比如maxmemory等

3、主从库数据结构优化方案不一致可能导致数据丢失:统一优化方案

4、尽量规避全量复制:首次连接的全量复制不可避免,后续需要全量复制的情况尽量在低峰时段进行

5、重启节点会重置运行id

6、复制挤压缓冲区不足:增大复制缓冲区大小 => rel_backlog_size

7、规避复制风暴

posted @ 2020-09-08 20:09  专业搬砖人士  阅读(111)  评论(0)    收藏  举报