redis replication的运行流程以及原理
以下内容皆来自于龙果学院,中华石杉讲师的****;
1、redis replication 的运行流程:
2、数据同步相关的一些原理:
(1)、master和slave都会维护一个offset;
master自身会不断累加offset,slave自身也会不断的累加offset,salve每秒会上报自己的offset给master,同时master也会保存每隔slave的offset,这样master和slave都知道各自数据的offset,才能知道互相直接的数据不一致的情况;
(2)、backlog机制:
master node有一个backlog,默认大小为1MB;
master node给slave node复制数据时,也会将数据在backlog中同步写一份,backlog主要是用来做全量复制的中断后的增量复制的;
(3)、master run id:
info server 可以看到master run id;如果使用host+ip来定位master node是不可靠的,因为如果master node重启或者出现数据的变化,根据host+ip是无法区分的,这时候slave node就需要根据run id来区分,run id不同就做全量复制;