Redis4-主从复制

为了避免单点故障,所以要将数据备份到其他服务器上。这样即使一台服务器发生故障了,其他服务器也可以使用。

redis 通过主从复制来保证多个服务器之间的数据一致性

1.全量复制

主从服务器第一次同步的时候,就是用的全量复制。这时候主服务器会有两个比较耗时的地方:生成RDB快照、传输RDB快照。为了避免多个从服务器和主服务器进行全量复制,所以把部分从服务器升级为【小组长】的角色,让【小组长】也可以管理部分从服务器。

分摊主服务器的压力。

2.基于长链接的命令传播

第一次同步完成后,主从服务器会维护一个长连接,主服务器在接收到写命令之后,会通过长连接将写命令传给从服务器,来保证主从服务器的数据一致性

3.增量复制

如果遇到网络断开,或者延迟,可以通过增量复制来维护主从服务器的数据一致性

原​​​​​​​理是

在主服务器内部维护了一个 repl_backlog_buffer 环形缓冲区,环形缓冲区上标记着主服务器写到的位置,从服务器读到的位置,两个位置之间的差距,就是增量数据,找到增量数据之后,将其读到主服务器的 replication buffer 里,然后通过命令传播,传给从服务器。

repl_backlog_size 可以设置环形缓冲区的大小,过小的话,从服务器想读的数据可能就会被覆盖,这时候就会触发全量复制。为了避免这种情况发生,要调大这个参数的值,降低全量复制的概率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值