清凤

导航

 

一. Redis主从复制相关配置

1. 主从同步支持两种策略,即disk和socket方式

一个RDB文件从master端传到slave端,分为两种情况:

    • 支持disk:master端将RDB file写到disk,稍后再传送到slave端;
    • 无磁盘diskless:master端直接将RDB file传到slave socket,不需要与disk进行交互。

无磁盘diskless方式适合磁盘读写速度慢但网络带宽非常高的环境。
repl-diskless-sync no 默认不使用diskless同步方式
repl-diskless-sync-delay 5 无磁盘diskless方式在进行数据传递之前会有一个时间的延迟,以便slave端能够进行到待传送的目标队列中,这个时间默认是5秒

2. repl-backlog-size 复制积压缓存区大小

Redis从2.8开始,使用PSYNC命令代替SYNC命令来执行复制时的同步操作。PSYNC具有完整同步和部分生同步两种模式。部分重同步模式解决了旧版复制功能在处理断线后重复制出现的低效情况。

repl-backlog-size 1mb 设置backlog的大小,backlog是一个缓冲区,在slave端失连时存放要同步到slave的数据,因此当一个slave要重连时,经常是不需要完全同步的,执行局部同步就足够了。backlog设置的越大,slave可以失连的时间就越长。

3. 要多少个Slave健康连接master, master才可以写

在redis master配置文件中添加配置

min-replicas-to-write 4
min-replicas-max-lag 10

当至少4个slave连接master的延迟时间小于10秒时,主实例才可以进行写操作

该功能工作原理如下:

    • 从实例每秒ping主实例,确认已处理的复制流的数量
    • redis主实例记住最后接收到的从实例ping的时间
    • 用户配置从实例的最小数量在小于指定的最大延迟(秒)时间时可写。

 

posted on 2021-04-08 09:28  清凤  阅读(503)  评论(0编辑  收藏  举报