美文网首页Linux
Redis - 主从和集群模式下的数据容灾测试

Redis - 主从和集群模式下的数据容灾测试

作者: 红薯爱帅 | 来源:发表于2021-07-18 18:39 被阅读0次

1. 概述

测试目标

redis主从模式redis集群模式下,master没有持久化,slave有持久化,master下线再重启,master肯定没有数据,slave数据是否也会被清空?

测试条件

  • 主从模式,分布在两台机器,都做了数据持久化,rdb和appendonly
  • 集群模式,在一台机器启动3主3从,共6个节点,都做了数据持久化,rdb和appendonly

2. 主从模式

  • 停止运行master,slave不会自动升级为master,拥有全量数据,依然可读
  • 启动master,slave会自动连接到master,恢复master-slave关系,并同步master数据到slave。
  • 如果启动master前,删除rdb和appendonly数据文件,则slave也为空

3. 集群模式

|Host IP|Host Port|Role|
|--|--|
|10.176.154.39|7001|master|
|10.176.154.39|7002|master|
|10.176.154.39|7003|master|
|10.176.154.39|7004|slave of master 7003|
|10.176.154.39|7005|slave of master 7001|
|10.176.154.39|7006|slave of master 7002|

  • 如上表,在3主3从的集群情况下,停止运行master 7001,slave 7005会自动升级为master,接管原master处理的所有hash slots
  • 启动master 7001,会自动连接到redis集群,并作为原slave 7005的slave存在,即使master和slave都没有持久化,也不存在数据丢失

4. 结论

论redis持久化的重要性

任何情况下,都要开启redis持久化,rdb或appendonly都可以。
并且,在生产环境一定要测试持久化是否生效。
否则,数据全量丢失时将追悔莫及。

论redis的重要性

Redis可以作为应用程序进程内存的扩展,帮助我们更好地维护一些元数据,便于维护和检索。
也可以作为进程间通信的一种方式,例如pub/sub、数据共享、消息队列等。
但是,由于redis的持久化是异步的,是不可靠的。
所以,重要的业务数据,特别是和money相关的,还是需要采用数据库进行存储,例如订单、钱包、优惠券等。

相关文章

网友评论

    本文标题:Redis - 主从和集群模式下的数据容灾测试

    本文链接:https://www.haomeiwen.com/subject/wgxwpltx.html