redis主从之全量复制及增量复制

2020-06-06  本文已影响0人  gaobinzhan

主从注意事项

在之前我写了一篇docker实现redis主从复制的文章,点击进入

对于主从复制的好处,在上篇文章我也写了,下面说一下注意事项。

注意事项

部署主从节点时需要考虑网络延迟、宽带使用率、防灾级别等因素,如要求低延迟时,建议同机房部署并关闭repl-disable-tcp-nodelay,如考虑容灾性,可以跨机房部署并开启repl-disable-tcp-nodelay

拓扑图

一主一从


graph TD

A[Redis-master] --> B[Redis-slave]

一主多从

graph TD

A[Redis-master] --> B[Redis-slave]
A[Redis-master] --> C[Redis-slave]
A[Redis-master] --> D[Redis-slave]

树状主从

graph TD

A[Redis-master] --> B[Redis-slave]
A[Redis-master] --> C[Redis-slave]
B[Redis-slave] --> D[Redis-slave]
B[Redis-slave] --> E[Redis-slave]

原理

graph TD

A[slaveof] -->|127.0.0.1:6379| B[slave]
B[slave] --> D[保存主节点信息]
D[保存主节点信息] --> E[主从建立socket连接]
E[主从建立socket连接] --> F[发送ping命令]
F[发送ping命令] --> G[权限验证]
G[权限验证] --> H[同步数据集]
H[同步数据集] --> I[命令持续复制]
I[命令持续复制] --> J[master]

从上图可以看出来大致分为6个过程:

主从同步的过程中,从节点会把原来的数据清空。

数据同步

同步方式:

复制偏移量:

复制积压缓冲区:

主节点运行ID:

Psync命令:

image

全量复制流程:

image

部分复制流程:

image

心跳:

主节点在建立成功后会维护这长连接彼此发送心跳检测

缓冲区大小调节:

上一篇下一篇

猜你喜欢

热点阅读