管理集群操作 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

管理集群操作

DAX 会为您处理集群的维护和运行状况。但是,您需要提供操作输入才能横向或纵向扩展集群以匹配您的使用模式。本节介绍扩展 DAX 集群时建议采用的流程。

横向扩展集群

扩展 DAX 集群涉及调整其容量以满足吞吐量需求。通过在集群运行时增加或减少集群中的节点(副本)数量,可完成此调整。此过程称为横向扩展,有助于将工作负载分配给更多节点,或者在需求较低时整合到更少的节点。

可以使用 Amazon CLI 中的 decrease-replication-factorincrease-replication-factor 命令横向缩减和扩大 DAX 集群。

增加复制因子(横向扩展)

增加 DAX 集群的复制因子会为该集群添加更多节点。下面的示例展示如何使用 increase-replication-factor 命令。

aws dax increase-replication-factor \ --cluster-name yourClusterName \ --new-replication-factor desiredReplicationFactor
  • 在此命令中,cluster-name 参数指定集群的名称。例如,yourClusterName

  • new-replication-factor 参数指定扩展后要添加到集群中的节点总数。其中包括主节点和副本节点。例如,如果您的集群当前有 3 个节点,并且您想再添加 2 个节点,请将 new-replication-factor 的值设置为 5。

降低复制因子(横向缩减)

降低 DAX 集群的复制因子会从集群中移除节点。在需求低迷时段,移除节点可以帮助降低成本。下面的示例展示如何使用 decrease-replication-factor 命令。

aws dax decrease-replication-factor \ --cluster-name yourClusterName \ --new-replication-factor desiredReplicationFactor
  • 在此命令中,cluster-name 参数指定集群的名称。例如,yourClusterName

  • new-replication-factor 参数指定扩展后集群中减少的节点数。此数字必须小于当前的复制因子,并且必须包括主节点。例如,如果您的集群有 5 个节点,而您想要移除 2 个节点,请将 new-replication-factor 的值设置为 3。

横向扩展注意事项

在计划横向扩展时,请考虑以下几点:

  • 主节点 - DAX 集群包括一个主节点。复制因子包括该主节点。例如,复制因子为 3 表示一个主节点和两个副本节点。

  • 可用性 - 添加或删除 DAX 节点会改变集群的可用性和容错能力。更多的节点可以提高可用性,但也会增加成本。

  • 数据迁移 – 当您增加复制因子时,DAX 会自动处理新节点集之间的数据分布。当一个新节点开始提供流量时,其缓存已经过预热。但是,在此过程中,在数据迁移期间可能会对性能产生暂时的影响。

在扩展期间和扩展之后,请务必密切监控 DAX 集群,以确保它们按预期运行,并根据需要进行进一步调整。

纵向扩展集群

要纵向扩展现有集群的节点大小,需要创建一个新集群并将应用程序流量迁移到该新集群。迁移到具有不同节点的新集群需要完成几个步骤,以确保平稳过渡,同时最大限度减少对应用程序性能和可用性的影响。

要创建用于纵向扩展节点大小的新集群,请考虑以下几点:

  • 访问当前设置 - 查看当前 DAX 集群的指标,以确定所需的新节点大小和数量。使用此信息作为输入来确定所需集群的大小。有关信息,请参阅设置 DAX 集群的容量

  • 设置新的 DAX 集群 – 使用所确定的节点类型和数量创建新的 DAX 集群。除非需要进行调整,否则可以使用参数组中的现有配置设置。

  • 同步数据 - 由于 DAX 是 DynamoDB 的缓存层,因此无需直接迁移数据。但是,在向新 DAX 集群发送流量之前,新的 DAX 集群在内存中不会有任何工作数据集。

  • 更新应用程序配置 - 更新应用程序配置以指向新的 DAX 集群端点。可能需要更改代码或更新环境变量,具体取决于应用程序的配置。

    为了减少切换到新集群时带来的影响,请从一小部分应用程序队列向新集群发送金丝雀流量。为此,可以缓慢推出应用程序更新,或者在 DAX 端点前使用基于权重的路由 DNS 条目。

  • 监控和优化 - 切换到新的 DAX 集群后,请密切监控其性能指标和日志中是否存在任何问题。准备好根据更新的工作负载模式调整节点数量。

    在新集群正确缓存工作数据集之前,您将看到更高的缓存未命中率和延迟。

  • 停用旧集群 – 当您确定新集群能够按预期运行时,请安全地停用旧 DAX 集群以避免产生不必要的成本。