首先让我们来列举一些事实:迁移到Redis的AWS Elasticache用最少的停机时间
- Elasticache不能成为我现有的Redis设置的奴隶。真正的耻辱,那会更有效率。
- 我只有一台Redis服务器进行迁移,大约有3GB的数据。
- 停机时间必须小于10分钟。我假设通常的“停止站点,停止redis,提供快照集群”将花费比这更长的时间。
这个问题类似:How do I set an elasticache redis cluster as a slave?如何这可能工作
一个想法:
- 集的Redis使用的AOF和触发BGSAVE在同一时间。
- 当BGSAVE完成时,使用RDB种子设置Elasticache群集。
- 停止该站点并关闭我的本地Redis实例。
- 使用aof-replay工具将AOF重播到Elasticache中。
- 再次启动站点,指向Elasticache群集。
我的问题:
- 我怎么能保证我的AOF文件开始在准确的RDB文件结束点,并且没有数据之间写成?
- 是否存在被Redis的的维护支持的AOF工具,或者是他们所有第三方解决方案,以及可靠性值得怀疑,因此(潜在的)?*
*无犯罪意图的这种工具的任何作家,我相信他们很棒,我只是觉得使用由同一个团队编写的工具来避免潜在的兼容性错误更有信心。
您的应用程序可否在没有Redis的情况下运行?它会慢吗(当然不能访问缓存)还是会失败? –
您的用户一夜之间活跃多久? 3 am-5am?那时候,我将迁移生产应用程序中的一项重大更改,以适应我们的业务用户。即使您的应用程序全天候使用,如果您在迁移过程中脱机30分钟,则可能会计划使用率较低,以最大限度地减少注意到的影响。 –
没有Redis的应用程序基本没用,并且没有真正的日常使用模式。这是一个24小时内持续加载的应用程序。是什么让你猜测它只有30分钟的停机时间? – arrtchiu