解决redis集群数据倾斜问题 解决redis集群数据倾斜

本文目录一览:

  • 1、Redis集群检测与恢复
  • 2、Redis哨兵模式(故障转移测试)
  • 3、redis集群迁移工具?
Redis集群检测与恢复AOF 方法进行故障恢复的时候,需要逐一把操作日志都执行一遍 。如果操作日志非常多,Redis 就会恢复得很缓慢,影响到正常使用 。RDB 既可以保证可靠性,还能在宕机时实现快速恢复 。
需要使用trib的fix命令进行修复 。如果修复还是不行的话,可以清除节点数据再重新建集群,前提要备份之后操作 。
通过开发了解到,redis上都是缓存数据,丢失影响不大,于是删除本地持久化数据,重新部署redis node,再手动创建集群 。三个节点都添加完成,并且没有报错 。进入一个master节点查看集群状态:集群状态终于恢复正常 。
当然 , 它也支持将内存中的数据以快照和日志的形式持久化到硬盘,这样即使在断电、机器故障等异常情况发生时数据也不会丢失,Redis能从硬盘中恢复快照数据到内存中 。
Redis哨兵模式(故障转移测试)哨兵模式是在主备模式的基础上,加上哨兵,实现redis集群的故障转移 。哨兵负责监控集群状态 , 当redis主节点发生故障,哨兵通过选举 , 选出替代的master节点 。一般需要单数的哨兵进行选举,大多数达成一致 。
测试哨兵模式结果 , 如下图:哨兵集群,基于主从复制模式,所有的主从配置优点 , 它全有 。主从可以切换,故障可以转移 , 系统的可用性就会更好 。哨兵模式就是主从模式的升级,手动到自动,更加健壮 。
哨兵集群在发现 master node 挂掉后会进行故障转移,也就是启动其中一个 slave node 为 master node。在这过程中 , 可能会导致数据丢失的情况 。
redis集群迁移工具?Redsync:用于在Redis集群之间同步数据的工具 。然而,它仅适用于Redis集群之间的数据同步,不支持迁移到其他存储引擎 。Resharding:用于将数据从一个Redis集群迁移到另一个Redis集群 。
客户端与redis节点直连,不需要连接集群所有的节点,连接集群中任何一个可用节点即可 。redis-trib.rb脚本(rub语言)为集群的管理工具,比如自动添加节点,规划槽位,迁移数据等一系列操作 。
MIGRATE: MIGRATE 命令是用于将数据从一个 Redis 实例迁移到另一个 Redis 实例的命令,但是在 Redis 集群模式下不支持此命令 。可以使用 --cluster 选项来进行集群迁移 。
【解决redis集群数据倾斜问题 解决redis集群数据倾斜】对redis 集群的扩容就是向集群中添加机器,缩容就是从集群中删除机器,并重新将 16383 个 slots 分配到集群中的节点上(数据迁移) 。扩缩容也是使用集群管理工具 redis-tri.rb 。

    推荐阅读