通过 redis 主从复制架构中的三个关键字段快速判断redis主从架构状态
搭建好 redis 主从架构后,在 Master 节点上执行 INFO REPLICATION 可以查看主从复制信息,根据这些信息就可以判断从节点的实时复制状态
redis-cli -a
INFO REPLICATION
输出的信息中,通过以下几个字段就可以判断主从复制状态是否健康:
-
备节点是否正常在线:查看
slaveX: state=online,表示从库与主库连接正常、复制正常进行中。 -
数据复制有没有卡住::查看
slaveX: lag=xxx,lag 小于 2 秒,说明数据复制非常流畅。 -
Master/Slave 数据差多少:
master_repl_offset - offset <= 1048576(1M),认为复制是健康的
如何理解 lag 字段的值:
就是搭建好主从复制架构后,备节点默认会1 秒会向主库发送一个 ACK,告诉主库自己还活着。lag 记录的就是距离上一次收到 ACK 过去了几秒,如果这个值很大,例如 5 秒以上,,说明从库很久没给主库汇报,复制可能卡住了。
怎么判断当前的主从复制状态是健康的:
-
首先备份节点需要正常在线
state=online -
其次
lag字段的值不能太大,太大说明备节点长时间没有向主节点报告自己的状态,可能是卡住了。 -
最后 主节点 和 备节点的数据差值也不能太大,一般
1M以内都是正常的。
例如:
-
state=online:说明从节点192.168.71.160是在线的 -
lag=0:说明从节点才向主库发送了ACK同步了数据。 -
master_repl_offset - offset在 200 Byte左右,也就是当前从节点数据比主节点数据少200Byte左右,小于1M都是正常的。

浙公网安备 33010602011771号