Redis数据迁移工具之RIOT
简介
GitHub:https://github.com/redis-developer/riot
文档:https://developer.redis.com/riot/
Redis Input/Output Tools (RIOT) 工具是一款支持 Redis 和文件,数据库之间进行数据同步的工具,支持全量和增量同步。
基础原理
RIOT 基于迁移数据的逻辑架构图如下:
RIOT 支持全量和增量迁移,从其逻辑架构图上来看,RIOT 使用生产者和消费者模型,全量迁移是基于 Redis 的 SCAN 功能,变量所有的key,然后获取键值对,放到后面的消费队列里面,写入到下游。
RIOT 工具的增量功能是基于 Redis 的键空间消息提醒(keyspace notification)功能,通过监听 源数据库的键值数据变化事件并解析该事件为对应的命令动作,在目标端执行该命令,以便达到增量迁移 key 的目的。
安装
需要在测试机器上安装 java-1.8.0-openjdk, 然后上传并解压 RIOT 软件包。