tair-opensource / RedisShake

RedisShake is a Redis data processing and migration tool.
https://tair-opensource.github.io/RedisShake/
MIT License
3.86k stars 700 forks source link

增量同步的原理 #857

Closed QQandWX closed 2 months ago

QQandWX commented 2 months ago

您好,想在这里咨询请教下增量同步的原理是什么?

我查阅了RedisShake的文档,里面说到 增量同步阶段:RedisShake 会持续将 AOF 数据流同步至目的端。请问这个 AOF 数据流是指aof文件吗,全量同步完成后,是把整个aof文件复制下来,然后解析成命令发给目的端吗?此时如果客户端不断向源端写数据,这个文件应该会不断变化(增量)。RedisShake 是会监听文件新增的命令部分吗,然后再把增量命令发送到目的端。

还是说增量同步阶段是利用了主从同步的默认机制,跟AOF没关系。

麻烦老师们了,能指教的话,非常感谢

suxb201 commented 2 months ago

是利用了主从同步的默认机制,跟源端盘上的 AOF 没关系

QQandWX commented 2 months ago

好的,老师

我这边还有两个问题想咨询。 1、在使用cluster模式的时候,都只需要填任意一个节点的node,如果源端是三主三从,那么三个不同节点主的RDB文件要如何传给RedisShark?是内部通过cluster获取到节点ip,然后去拷贝吗?还是其他方式。。。 2、在使用cluster模式的时候,增量同步是怎么实现的,因为有三个主会不断写数据,是不是要模拟用三个从去接数据?

suxb201 commented 2 months ago
  1. 内部通过 cluster nodes 看命令获取每个节点的 ip
  2. 是要模拟用三个从去接数据