主從復制(REPLICAOF/SLAVEOF):目標實例掛為從節點,通過復制協議全量+增量同步后切換為主。
模擬從節點工具:模擬復制協議同步數據,常見兩種實現:
(1) 拉取全量和增量命令流,在本地生成 RDB/AOF 文件后解析為 RESP 協議,直接發送到目標實例。
(2) 收到命令后直接轉換為 Redis 命令推送到 Kafka,再由消費端從 Kafka 讀取并寫入目標集群。
RDB/AOF 文件遷移:導出快照文件并在目標加載,實現全量遷移。
SCAN+DUMP/RESTORE:逐 Key 遷移,支持過濾但速度較慢。
應用層雙寫+全量遷移:應用同時寫源和目標保持增量一致,再補齊全量數據。
區分 Redis 與 Kvrocks
原生 Redis:支持所有方式,主從復制和 RDB/AOF 文件遷移最常用。
Kvrocks(Redis 協議實現):
支持 主從復制(
REPLICAOF、PSYNC
)。模擬從節點工具常用 Redis-Shake 和 kvrocks2redis,尤其適合 (1) 模式;部分場景可通過 (2) 模式實現解耦。
RDB/AOF 文件遷移需借助工具生成標準格式。
SCAN+DUMP/RESTORE 與 應用層雙寫+全量遷移 同樣可用,但性能受限于協議兼容性。