Redis 缓存数据库使用 Redis-Shake 做数据同步
Redis-shake 简介
redis-shake是阿里云Redis&MongoDB团队开源的用于redis数据同步的工具,下载地址
Redis-Shake 同步的五种模式
- restore 恢复:将 RDB 文件恢复到目标 redis 数据库
- dump 备份:将源 redis 的全量数据通过 RDB 文件备份起来
- decode 解析:对 RDB 文件进行读取,并以 json 格式解析存储
- sync 同步:支持源redis和目的redis的数据同步,支持全量和增量数据的迁移,支持单节点、主从版、集群版之间的互相同步;如果源端是集群版,可以启动一个RedisShake,从不同的db结点进行拉取,同时源端不能开启move slot功能;对于目的端,如果是集群版,写入可以是1个或者多个db结点
- rump 同步:支持源redis和目的redis的数据同步,仅支持全量的迁移
基本原理
部署过程
同步模式
mkdir -P /usr/local/src/redis-shake
wget -P /usr/local/src/redis-shake https://github.com/alibaba/RedisShake/releases/download/release-v2.1.2-20220329/release-v2.1.2-20220329.tar.gz
cd /usr/local/src/redis-shake
tar -xvf release-v2.1.2-20220329.tar.gz
cp /usr/local/src/redis-shake/redis-shake.conf /usr/local/src/redis-shake/redis-shake.conf.backup
vi /usr/local/src/redis-shake/redis-shake.conf
----------------
source.type: standalone
source.address: 127.0.0.1:6379
source.password_raw: 123456
target.type: standalone
target.address: 127.0.0.1:6380
target.password_raw: 123456
key_exists = none
----------------
修改完配置文件后,运行命令
./redis-shake.linux -conf=redis-shake.conf -type=sync
type 为 sync 和 rump 模式需要同时配置 source 和 target
restore 模式
如果为 restore 模式,配置 rdb.input 和 target 信息即可
source.rdb.input: local_dump.0;local_dump.1
target.type: standalone
target.address: 127.0.0.1:6380
target.password_raw: 123456
key_exists = none
dump 模式
dump 模式,配置 target.rdb.output 和 source 信息即可
target.rdb.output: local_dump
source.type: standalone
source.address: 127.0.0.1:6379
source.password_raw: 123456
示例
单点到单点
source.type: standalone
source.address: 10.1.1.1:20441
source.password_raw: 12345
target.type: standalone
target.address: 10.1.1.1:20551
target.password_raw: 12345
cluster 到 cluster
source.type: cluster
source.address: 10.1.1.1:20441;10.1.1.1:20443;10.1.1.1:20445
source.password_raw: 12345
target.type: cluster
target.address: 10.1.1.1:20551;10.1.1.1:20553;10.1.1.1:20555
target.password_raw: 12345
cluster 到 proxy
source.type: cluster
source.address: 10.1.1.1:20441;10.1.1.1:20443;10.1.1.1:20445;10.1.1.1:20447
source.password_raw: 12345
target.type: proxy
target.address: 10.1.1.1:30331;10.1.1.1:30441;10.1.1.1:30551
target.password_raw: 12345
standalone 到 cluster
source.type: standalone
source.address: 10.1.1.1:20441
source.password_raw: 12345
target.type: cluster
target.address: 10.1.1.1:30331;10.1.1.1:30441;10.1.1.1:30551
target.password_raw: 12345
|