用 docker 学习 redis 主从复制2 主从同步的offset

本篇介绍复制信息中很重要的一个指标 offset,它代表了数据的偏移量,判断同步情况,如果偏移量过大,则可能主从的连接出现了异常,还可能造成全量复制

当 offset 误差大于复制缓冲区时发生全量复制,而全量复制是尽量要避免的,本篇未涉及

info replication

用 docker 学习 redis 主从复制 数据延迟的问题

上图所示,两者的 offset 相同,代表主从数据是已同步完成状态。

我们通过一个限流工具 iproute 模拟从节点的网络延迟,这里打算新创建一个从节点来试验

docker run -itd --privileged  --name slave2 --net mynetwork --ip 172.10.0.4 -p 6382:6379 redis:n1

增加 --privileged 参数来提升权限

配置好后,现在是一主二从

用 docker 学习 redis 主从复制 数据延迟的问题

接下来进入新建的从节点容器中,安装限流工具

yum -y install iproute-tc

延迟 5s

tc qdisc add dev eth0 root netem delay 5000ms
#tc qdisc del dev eth0 root netem delay 5000ms

然后主节点不断(每隔1s)写入数据,通过主节点上 info replication 观察 offset 变化

观察主节点写入时的offset变化

本作品采用《CC 协议》,转载必须注明作者和本文链接
focus
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!