RedisShake
RedisShake copied to clipboard
请问下是否支持实时监听AOF,同步增量内容?
是否支持AOF文件的增量同步
没有看到详细的AOF增量同步的内容和原理,加之阿里云社区相关文档有些过时。 主要是想请教一下AOF增量的原理和机制。
实际需求和遇到的问题
我希望最终能实现业务无感知的迁移,也就是不中断业务的情况下操作。因此,启动redis-shark迁移时,仍然需要持续监听源端的aof文件,并将增量的部分迁移到目的端。 实际测试时,我发现该工具只能将rdb中的数据迁移过来,aof中的数据只有一小部分保存下来。 且aof相关的写入日志是突然中断,未给出其他日志信息。
(注: 为了实现个性化的迁移需求,我基于V3版本的redis-shark,尝试对rdb.go等模块进行了一些改动,改动不涉及aof的读写。目前使用redis-full-check验证,启动迁移程序后,源端不新增的数据的情况下迁移是完整的。)
源端
版本:自建codis
目的端 版本:自建pika
支持增量同步,原理是模拟 Redis slave。
且aof相关的写入日志是突然中断,未给出其他日志信息。
请给出一些日志信息,不太明白这里表达的意思。
尝试对rdb.go等模块进行了一些改动
请尝试使用未改动的版本测一下,看看还会出问题吗?可能你的改动会导致有些 offset 的统计出现问题。
感谢回复,按这个思路我再看看
目前在本地调试,自定义日志比较杂,因此暂时不放上来了 根据效果描述,就是本地的 data/*.aof 里面只记了一点点数据,甚至末尾的数据有时候是不完整的。因此导致后面写入不完整
请给出一些日志信息,不太明白这里的意思。
有可能是这个原因,为了方便改动,我目前将offset相关部分摘除了。本想自定义其他的channel用来发送执行信号。
请尝试使用未改动的版本测一下,看看还会出问题吗?可能你的改动会导致有些偏移的统计出现问题。
已解决。 1.自己改造部分引入问题。 2.测试的codis设置了client-output-buffer-limit,导致连接中断。