选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用 Amazon Keyspaces 自动扩缩自动管理吞吐能力

聚焦模式
使用 Amazon Keyspaces 自动扩缩自动管理吞吐能力 - Amazon Keyspaces(Apache Cassandra 兼容)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

许多数据库工作负载本质上是周期性的,或者难以提前进行预测。例如,考虑一个大多数用户在白天处于活跃状态的社交网络应用程序。数据库必须能够处理白天活动,但夜间不需要相同级别的吞吐量。

另一个示例是面临快速采用的新移动游戏应用程序。如果此游戏变得极受欢迎,它可能会超出可用的数据库资源,从而导致性能降低并使客户感到不满。这些类型的工作负载通常需要手动干预来扩展或缩减数据库资源,以便响应不断变化的使用量级别。

Amazon Keyspaces(Apache Cassandra 兼容)可以根据实际应用程序流量自动调整吞吐容量,从而帮助您有效地为可变工作负载预置吞吐容量。Amazon Keyspaces 使用 Application Auto Scaling 服务来代表您增加或减少表的读写容量。有关 Application Auto Scaling 的更多信息,请参阅 Application Auto Scaling 用户指南

注意

要快速开始使用 Amazon Keyspaces 自动扩缩,请参阅配置和更新 Amazon Keyspaces 自动扩缩策略

Amazon Keyspaces 自动扩缩的工作原理

下图简要概述了 Amazon Keyspaces 自动扩缩如何管理表的吞吐容量。

显示用户对 Amazon Keyspaces 表进行更改时所涉及的不同服务的示意图。这些服务是 Amazon CloudWatch、Amazon SNS 和 Application Auto Scaling,后者会根据用户的读取或写入使用情况执行 ALTER TABLE 语句来更改容量。

要为表启用自动扩展,请创建扩展策略。扩展策略指定是要扩展读取容量还是写入容量(或二者),并为表指定最小的和最大的预置容量单位设置。

扩展策略还定义了 目标利用率。目标利用率是在某个时间点上使用的容量单位与预置容量单位的比率(以百分比表示)。自动扩展使用目标跟踪 算法向上或向下调整表的预置吞吐量以响应实际工作负载。这样做的目的是使实际容量利用率保持在目标利用率或接近目标利用率。

您可以为读取和写入容量设置介于 20% 和 90% 之间的自动扩展目标利用率值。默认的目标利用率为 70%。如果您的流量快速变化,并且您希望容量能够尽快开始扩展,则可以将目标利用率设置为较低的百分比。如果您的应用程序流量变化较慢,并且您希望降低吞吐量成本,则也可以将目标利用率设置为较高的百分比。

有关自动扩缩策略的更多信息,请参阅 Application Auto Scaling 用户指南中的 Target tracking scaling policies for Application Auto Scaling

创建扩缩策略时,Amazon Keyspaces 会代表您创建两对 Amazon CloudWatch 警报。每对警报均表示预置和使用的吞吐量设置的上限和下限。当表的实际使用率在一段持续时间内偏离目标使用率时,将触发这些 CloudWatch 警报。要了解有关 Amazon CloudWatch 的更多信息,请参阅 Amazon CloudWatch 用户指南

触发 CloudWatch 警报时,Amazon Simple Notification Service (Amazon SNS) 会向您发送通知(如果您已启用通知)。然后,CloudWatch 警报将调用 Application Auto Scaling 来评估您的扩缩策略。这进而会向 Amazon Keyspaces 发出 Alter Table 请求,以便根据情况增加或减少表的预置容量。要了解有关 Amazon SNS 通知的更多信息,请参阅设置 Amazon SNS 通知

Amazon Keyspaces 会处理 Alter Table 请求,方式是动态增加(或减少)表的预置吞吐容量,使它接近目标利用率。

注意

仅当实际工作负载持续数分钟保持提高(或降低)时,Amazon Keyspaces 自动扩缩才会修改预置吞吐量设置。 目标跟踪算法寻求使目标使用率长期达到或接近选定值。表的内置容量暴增将容纳活动的短时间突增峰值。

多区域表的自动扩缩工作原理

为确保在预置容量模式下多区域表所有 AWS 区域中的所有表副本始终有足够的读取和写入容量,建议您配置 Amazon Keyspaces 自动扩缩。

在预置模式下使用启用自动扩缩的多区域表时,您无法为单个表副本禁用自动扩缩。但是您可以针对不同区域调整表的读取自动扩缩设置。例如,您可以针对复制了该表的每个区域,指定不同的读取容量和读取自动扩缩设置。

您为指定区域中的表副本配置的读取自动扩缩设置会覆盖该表的常规自动扩缩设置。但是,写入容量必须在所有表副本之间保持同步,以确保有足够的容量在所有区域中复制写入。

Amazon Keyspaces 自动扩缩会根据每个 AWS 区域中的使用情况,独立更新该区域中的表的预置容量。因此,当自动扩缩处于活动状态时,每个区域中多区域表的预置容量可能会有所不同。

您可以使用 Amazon Keyspaces 控制台、API、AWS CLI 或 CQL 配置多区域表及其副本的自动扩缩设置。有关如何创建和更新多区域表的自动扩缩设置的更多信息,请参阅在 Amazon Keyspaces 中更新多区域表的预置容量和自动扩缩设置

注意

如果您对多区域表使用自动扩缩功能,则必须始终使用 Amazon Keyspaces API 操作来配置自动扩缩设置。如果您直接使用 Application Auto Scaling API 操作来配置自动扩缩设置,则无法指定多区域表的 AWS 区域。这可能会导致配置不受支持。

使用说明

在开始使用 Amazon Keyspaces 自动扩缩之前,您应了解以下内容:

  • Amazon Keyspaces 自动扩缩会根据您的扩缩策略在必要时增加读取容量或写入容量。所有 Amazon Keyspaces 配额仍将有效,如 Amazon Keyspaces(Apache Cassandra 兼容)限额中所述。

  • Amazon Keyspaces 自动扩缩不会阻止您手动修改预置的吞吐量设置。这些手动调整不会影响附加到扩缩策略的任何现有 CloudWatch 警报。

  • 如果您使用控制台创建预置了吞吐容量的表,则默认情况下将启用 Amazon Keyspaces 自动扩缩。您可以随时修改自动扩展设置。有关更多信息,请参阅 为表关闭 Amazon Keyspaces 自动扩缩

  • 如果您使用 AWS CloudFormation 创建扩缩策略,则应管理 AWS CloudFormation 中的扩缩策略以使堆栈与堆栈模板同步。如果您更改 Amazon Keyspaces 中的扩缩策略,则在重置堆栈时,这些策略将会被 AWS CloudFormation 堆栈模板中的原始值覆盖。

  • 如果您使用 CloudTrail 监控 Amazon Keyspaces 自动扩缩,您可能会看到针对 Application Auto Scaling 在其配置验证过程中进行的调用的警报。您可以使用 invokedBy 字段筛选掉这些警报,其中包含用于这些验证检查的 application-autoscaling.amazonaws.com

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。