我在AWS文档中找不到任何修改Redis引擎版本会或不会导致停机的信息。除了在维护窗口中执行升级外,它没有说明升级是如何发生的。
通过AWS控制台安全地升级生产Elasticache Redis实例,而不会丢失数据或停机时间吗?
注意:我们使用的客户端库与Redis的所有版本兼容,因此应用程序不会注意到升级。
更改缓存引擎版本是一个破坏性过程,集群中的所有缓存数据。 **
我现在不是您的特定应用程序的要求。但是,如果您不能丢失数据并且需要进行主要版本升级,建议您迁移到新集群,而不是升级当前设置。
** http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/VersionManagement.html
如Will上文所述,AWS答案已更改。从理论上讲,您可以在不停机的情况下做到这一点。参见:
https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/VersionManagement.html
关键点在于停机时间及其对现有使用的影响:
设计了用于Redis的Amazon ElastiCache引擎升级过程尽最大努力保留您的现有数据,并要求Redis复制成功。
...
对于单个Redis群集和禁用了多可用区的群集,我们建议为Redis提供足够的内存,以便确保您有足够的内存来创建Redis中所述快照。在这些情况下,主服务器不可用升级过程中的请求。
...
对于启用了多可用区的Redis群集,我们还建议您在传入流量较低的情况下安排引擎升级。升级到Redis 5.0.5或更高版本时,主群集将继续在升级过程中可用于服务请求。什么时候升级到Redis 5.0.4或更低版本,您可能会注意到短暂的中断与DNS更新相关的几秒钟。
这里没有任何保证,因此,如果数据失败,您将必须自行决定丢失数据的风险