我可以在不停机的情况下升级Elasticache Redis引擎版本吗?

n3h0vuf2  于 2022-11-21  发布在  Redis
关注(0)|答案(4)|浏览(213)

我在AWS文档中找不到任何关于修改Redis引擎版本是否会导致停机的信息,除了在维护窗口中执行之外,它没有解释升级是如何发生的。
通过AWS控制台升级Elasticache Redis示例是否安全,不会造成数据丢失或停机?
注意:我们使用的客户端库与Redis的所有版本兼容,因此应用程序不会注意到升级。

2w2cym1i

2w2cym1i1#

更改缓存引擎版本是一个中断过程,它会清除集群中的所有缓存数据。**
我现在不知道你的特定应用程序的要求。但是如果你不能丢失你的数据,你需要做一个主要的版本升级,这将是明智的迁移到一个新的集群,而不是升级当前的设置。

**http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/VersionManagement.html

8ljdwjyq

8ljdwjyq2#

正如Will在上文中提到的,AWS的答案已经改变。从理论上讲,您可以在不停机的情况下完成此任务。请参阅:
https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/VersionManagement.html
关键点在于停机时间和对现有使用的影响:
Amazon ElastiCache for Redis引擎升级过程旨在尽最大努力保留您现有的数据,并且需要成功的Redis复制。
...
对于单个Redis集群和禁用Multi-AZ的集群,我们建议按照确保您有足够的内存来创建Redis快照中的说明,为Redis提供足够的可用内存。在这些情况下,在升级过程中,主服务器将无法为请求提供服务。
...
对于启用了Multi-AZ的Redis集群,我们建议您在写入流量较低的时候进行引擎升级。当升级到Redis 5.0.5或更高版本时,主集群在升级过程中仍然可以为请求提供服务。当升级到Redis 5.0.4或更低版本时,您可能会注意到DNS更新会有几秒钟的短暂中断。
这里没有任何保证,因此您必须自行决定如果失败是否会丢失数据

z9smfwbn

z9smfwbn3#

我 不 知道 答案 是否 仍然 相关 , 因为 这个 问题 是 近 7 年 前 提出 的 , 但 有 几 件 事 。
更改 节点 类型 或 引擎 版本 是 一 个 修改 操作 , 您 的 数据 在 Elasticache 集群 上 保持 不变 。( 如果 我 找到 了 , 我 会 在 这里 链接 它 ) 弹性 缓存 修改 的 过程 发生 。 本质 上 ,Elasticache 会 在 后端 启动 一 个 新 节点 , 其中 包含 您 所 做 的 修改 , 并 将 您 的 数据 复制 到 该 节点 。假设 您 所 做 的 修改 是 将 引擎 版本 从 5.x 更改 为 6.x -

  1. Elasticache 将 在 后端 使用 Engine 6.x 启动 新 的 Redis 节点 。
    1.当 节点 启动 时 , Elasticache 将 从 5.x 节点 读取 密钥 , 并 将 数据 复制 到 6.x
    1.复制 完成 后 , Elasticache 将 更改 群集 端点 的 DNS 记录 。
    因此 , 根据 应用 程序 的 DNS 缓存 TTL 配置 , 会 有 一些 停机 时间 。 例如 , 您 的 应用 程序 保留 DNS 缓存 300 秒 , 刷新 应用 程序/客户 机 上 的 DNS 缓存 可能 需要 300 秒 , 在 此 期间 , 应用 程序 可能 会 显示 一些 错误 。
    从 弹性 缓存 的 Angular 来看 , 我 不 认为 他们 会 提供 任何 官方 的 SLA , 但是 这个 文档 [ 1 ] 提到 这个 DNS 只 需要 " 几 秒钟 " 就 可以 传播 ( 取决 于 引擎 版本 ) 。
    尽管 如此 , 你 还是 可以 随时 为 你 的 集群 拍 一 个 快照 作为 备份 。 如果 有 什么 问题 , 你 可以 使用 快照 来 启动 一 个 新 的 集群 。
    另外 , 还有 一 件 事 - AWS 永远 不会 自己 升级 引擎 版本 。 Elasitcache 集群 的 维护 窗口 是 安全 补丁 和 引擎 上 的 小 优化 。 它们 不会 影响 引擎 版本 。
    干杯 ! 干杯 !
    [1][https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html) 的 最 大 值
hujrc8aj

hujrc8aj4#

这取决于您的当前版本:

  • 当升级到Redis 5.0.6或更高版本时,主集群在升级过程(source)中仍然可以服务请求。
  • 从Redis引擎版本5.0.5开始,您可以在最短的停机时间内升级集群版本。集群在整个升级过程中都可以被读取,并且在大部分升级期间都可以被写入,除了在故障转移操作期间,它会持续几秒钟(source);在引擎升级期间,群集可用于读取,对于版本5.0.5(source),写入仅中断〈1秒
  • 您也可以使用5.0.5之前的版本升级ElastiCache集群。所涉及的过程相同,但在DNS传播期间可能会导致更长的故障转移时间(30 s-1 m)(sourcesource)。

相关问题