Redis4-主从复制

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

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

1.全量复制

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

分摊主服务器的压力。

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

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

3.增量复制

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

原​​​​​​​理是

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

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

你可能感兴趣的:(redis,服务器,数据库)