本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
引擎版本和升级
本部分介绍支持的 Redis 引擎版本以及如何升级。
支持的 Redis 版本
MemoryDB for Redis 版本(加强版)
MemoryDB 推出新版本的 Redis 引擎,其中包括使用访问控制列表 (ACL) 验证用户、自动版本升级支持、客户端缓存和重大操作改进。
此版本还推出了对原生的支持 JavaScript 对象表示法 (JSON) 格式,这是一种在 Redis 集群中编码复杂数据集的简单无模式方式。借助 JSON 支持,您可以将性能和 Redis API 用于通过 JSON 运行的应用程序。有关更多信息,请参阅 JSON 入门。还包括与 JSON 相关的指标JsonBasedCmds这被纳入 CloudWatch 监控此数据类型的使用情况。有关更多信息,请参阅 MemoryDB。
借助Redis 6,MemoryDB 将为每个 Redis OSS 次要版本提供单一版本,而不提供多个补丁版本。这旨在最大限度减少不得不从多个次要版本中选择时所产生的混淆和歧义。MemoryDB 还将自动管理正在运行状态中的集群的次要版本和补丁版本,确保提高性能和增强安全性。这将通过服务更新活动借助标准客户通知渠道进行处理。有关更多信息,请参阅 用于 Redis 的 MemoryDB 中的服务更新。
如果您在创建时没有指定引擎版本,MemoryDB 将自动为您选择首选的 Redis 版本。另一方面,如果您使用指定引擎版本6.2,MemoryDB 会自动调用可用的 Redis 6.2 首选补丁版本。
例如,当您创建一个集群时,您将--engine-versionParameter6.2. 则在集群创建时,系统将会使用当前可用的 Patch 版本启动集群。任何包含完整引擎版本值的请求都将被拒绝,同时引发异常且进程会失败。
打电话时DescribeEngineVersionsAPI,EngineVersionParameter calue 会设置为 6.2,实际引擎版本会在EnginePatchVersion字段中返回的子位置类型。
有关 Redis 6.2 发布说明Redis 6.2 发布说明
升级引擎版本
默认情况下,MemoryDB 通过服务更新自动管理正在运行的集群的补丁版本。此外 auto 如果您将AutoMinorVersionUpgrade集群的属性设置为 false。但是,您不能选择退出auto 补丁版本升级。
在启动auto 升级之前,您可以控制为集群提供支持的符合协议标准的软件是否及何时升级到 MemoryDB 所支持的新版本。此级别的控制使您能够与特定版本保持兼容、在生产中部署进行之前使用应用程序测试新版本以及根据自己的条件和时间表执行版本升级。
您可以通过以下方式启动集群的引擎版本升级:
通过更新它并指定新的引擎版本。有关更多信息,请参阅 修改 MemoryDB 集群。
正在为相应的引擎版本应用服务更新。有关更多信息,请参阅 用于 Redis 的 MemoryDB 中的服务更新。
请注意以下几点:
您可以升级到较新的引擎版本,但不能降级到较早的引擎版本。要使用较早的引擎版本,必须删除现有的集群,并使用较早的引擎版本重新创建。
引擎版本管理的设计使您可以尽可能多地控制修补的发生方式。但是,如果发生系统或软件中存在严重安全漏洞这种不太可能发生的情况,MemoryDB 保留代表您修补集群的权利。
MemoryDB 将为每个 Redis OSS 次要版本提供单一版本,而不提供多个补丁版本。这旨在最大限度减少不得不从多个版本中选择时所产生的混淆和歧义。MemoryDB 还将自动管理正在运行状态中的集群的次要版本和补丁版本,确保提高性能和增强安全性。这将通过服务更新活动借助标准客户通知渠道进行处理。有关更多信息,请参阅 用于 Redis 的 MemoryDB 中的服务更新。
您可以在最短的停机时间内升级集群版本。集群在整个升级过程中可供读取,并在大部分升级持续时间内可供写入,但在只持续几秒钟的故障转移操作期间则例外。
-
我们建议在传入的写流量较低期间执行引擎升级。
将处理和修补带多个分片的集群,如下所示:
-
在任何时候,仅在每个分片执行一次升级操作。
-
在每个分片中,在处理主副本之前,会先处理所有其他副本。如果一个分片中的副本较少,则可能会在处理完其他分片中的副本之前处理该分片中的主副本。
-
在所有分片中,主节点都是按顺序处理的。一次只升级一个主节点。
-
如何升级引擎版本
通过使用 MemoryDB 控制台修改集群,启动集群的版本升级Amazon CLI,或 MemoryDB API,并指定较新的引擎版本。有关更多信息,请参阅以下主题。
解决被阻止的 Redis 引擎升级
如下表所示,如果您有待处理的纵向扩展操作,则会阻止 Redis 引擎升级操作。
| 待处理的操作 | 阻止的操作 |
|---|---|
| 纵向扩展 | 立即引擎升级 |
| 引擎升级 | 立即纵向扩展 |
| 纵向扩展和引擎升级 | 立即纵向扩展 |
| 立即引擎升级 |