Redis数据迁移与校验

  • 时间:
  • 浏览:0
  • 来源:uu快3注册_uu快3官网

参考链接:

https://yq.aliyun.com/articles/691794https://yq.aliyun.com/articles/690463?spm=a2c4e.11155435.0.0.1cbe7bc170JysP

  Redis-Migrate-Tool(RMT),是唯品会开源的redis数据迁移工具,主要用于异构redis集群间的数据在线迁移,数据迁移过程中源集群仍都可不里能 正常接受业务读写请求,无业务中断服务时间。

  RMT启动后模拟成redis从库,请求主库的全量数据和增量数据。RMT收到数据之前 解析成redis协议格式的写操作,随后 发送给目标库。

  redis-shake是阿里基于redis-port基础上进行改进的一款产品。它支持解析、恢复、备份、同步十个 功能。

  redis-shake出理 了下面十个 问题:

  redis-shake的基本原理就说 我模拟一另好好多个 从节点加入源redis集群,首先进行全量拉取并回放,随后 进行增量的拉取(通过psync命令)。

  由上文验证可知,redis-full-check都可不里能 对比出源端与目标端的差异key。

  redis-migrate是一款轻量级的redis数据迁移工具,保持redis源码文件不做改动的前提下,只新增加了一另好好多个 "redis-migration.c"文件。

  redis-migrate通过伪装成从库,获取数据文件并进行解析出理 。redis-migration在迁移过程中对数据做了落居于理,工具某种没有 对数据进行加载,内存开销很小。另外在迁移RDB文件时采用RTT就说 我一另好好多个 时间窗口,在某种时间窗口里并发多个客户端就都可不里能 出理 系统等候,极大提高性能;另外,AOF迁移之前 使用了pipeline社会形态,批量发送,减少RTT来加速迁移。

  Redis常见的数据迁移法子有以下某种:RDB迁移、AOF迁移、主从qq克隆好友 。

  使用RDB和AOF文件都可不里能 实现跨网络隔离的数据迁移,随后 无法做到增量迁移。主从qq克隆好友 都可不里能 实现增量迁移随后 无法跨网络环境。另外,在过去对于数据迁移后的校验不足英文良好的手段。

  本文对有些开源工具进行调研与实践,结果如下:

  都可不里能 通过curl 127.0.0.1:9320/metric进行实时监控。

  由上文验证都可不里能 得知,redis-shake支持全量+增量的数据迁移,随后 支持对RDB文件的备份以及解析。

  redis-full-check是阿里云Redis&MongoDB团队开源的用于校验一另好好多个 redis数据是与否一致的工具。

  redis-full-check通过全量对比源端和目的端的redis中的数据的法子来进行数据校验,其比较法子通太大轮次比较:每次都在抓取源和目的端的数据进行差异化比较,记录不一致的数据进入下轮对比(记录在sqlite3 db中)。随后 通太大轮比较不断收敛,减少因数据增量同步由于 的源库和目的库的数据不一致。最后sqlite中居于的数据就说 我最终的差异结果。



  redis-full-check对比的方向是单向:抓取源库A的数据,随后 检测是与否居于B中,反向不想检测,也就说 我说,它检测的是源库是与与否目的库的子集。由于 希望对比双向,则前要对比2次,第一次以A为源库,B为目的库,第二次以B为源库,A为目的库。

  redis-port是一组开源工具集合,主要用于Redis节点间的数据库同步、数据导入、数据导出,支持 Redis的跨版本数据迁移。

  在里面的几款工具中,除redis-shake外的几款工具由于 选择选择离开更新,就说 我本文将介绍redis-shake这款工具。