【发布时间】:2016-10-13 18:23:44
【问题描述】:
让我们从列举一些事实开始:
- Elasticache 不能成为我现有 Redis 设置的从属设备。真可惜,那样会更有效率。
- 我只有一台 Redis 服务器要迁移,大约有 3GB 的数据。
- 停机时间必须少于 10 分钟。我假设通常的“停止站点,停止 redis,使用快照配置集群”将花费比这更长的时间。
类似这个问题:How do I set an elasticache redis cluster as a slave?
关于这可能如何工作的一个想法:
- 将 Redis 设置为同时使用 AOF 和触发 BGSAVE。
- BGSAVE 完成后,为 Elasticache 集群配置 RDB 种子。
- 停止站点并关闭我的本地 Redis 实例。
- 使用 aof-replay 工具将 AOF 重播到 Elasticache 中。
- 再次启动站点,指向 Elasticache 集群。
我的问题:
- 我如何保证我的 AOF 文件正好在 RDB 文件结束时开始,并且在这之间不会写入任何数据?
- Redis 的维护者是否支持 AOF 工具,或者它们都是第三方解决方案,因此(可能)可靠性有问题?*
* 无意冒犯此类工具的任何作者,我相信他们很棒,我只是觉得使用由与产品相同的团队编写的工具来避免潜在的兼容性错误更有信心。
【问题讨论】:
-
你的应用可以在没有 Redis 的情况下运行吗?它会变慢(当然不能访问缓存)还是会失败?
-
您的用户在一夜之间有多活跃?凌晨 3 点到 5 点?那时我会迁移需要为我们的业务用户准备的生产应用程序的重大更改。即使您的应用 24/7 全天候使用,您也有可能会在迁移期间离线 30 分钟时计划将您注意到的影响降到最低的低使用期。
-
App没有Redis基本没用,也没有真正的日常使用模式。这是一个 24 小时内不断加载的应用程序。是什么让您猜测停机时间只有 30 分钟?
标签: amazon-web-services redis data-migration