MemoryDB 多区域扩缩 - Amazon 内存 DB

MemoryDB 多区域扩缩

随着集群需求的变化,您可能决定通过更改节点类型或 MemoryDB 集群中的分片数量来提升性能或降低成本。扩展 MemoryDB 多区域集群会同时扩缩其中的所有区域集群。MemoryDB 多区域集群支持在线重分片。MemoryDB 多区域集群不支持离线重分片。

您决定重新调节集群的情况包括以下几种:

  • 内存压力

    如果您的区域集群中的节点存在内存压力,您可能会决定进行横向扩展或纵向扩展,以获得更多资源来更好地存储数据和处理请求。

    您可以通过监控以下指标来确定节点是否承受内存压力:FreeableMemory、SwapUsage、BytesUsedForMemoryDB 和 MultiRegionClusterReplicationLag

  • CPU 或网络瓶颈

    如果延迟/吞吐量问题困扰您的集群,您可能需要通过横向扩展或纵向扩展来解决问题。

    您可以通过监控以下指标来监控延迟和吞吐量水平:CPUUtilizationNetworkBytesIn NetworkBytesOutCurrConnections NewConnections and MultiRegionClusterReplicationLag

  • 您的集群过度扩展

    当前集群的需求使得横向缩减或纵向缩减不会损害性能并能降低成本。

您可以使用以下指标监控集群的使用情况,以确定是否可以安全地横向缩减或纵向缩减:FreeableMemory、SwapUsage、BytesUsedForMemoryDB、CPUUtilization、NetworkBytesIn、NetworkBytesOut、CurrConnections、NewConnections 和 MultiRegionClusterReplicationLag

MemoryDB 多区域集群有两种扩展方式:水平扩缩和垂直扩缩。

  • 水平扩缩您通过添加或删除分片来更改 MemoryDB 多区域集群中的分片数量。在线重分片过程允许在区域集群继续处理传入请求的同时进行横向缩减/纵向缩减。

  • 纵向扩展通过更改节点类型来调整 MemoryDB 多区域集群的规模。在线垂直扩缩允许在区域集群继续处理传入请求的同时进行纵向扩展/纵向缩减。

扩展默认使用“协调式”更新策略。这意味着要么所有区域集群成功扩展,要么所有区域集群均不扩展。

横向扩展操作也支持“非协调式”更新策略。这意味着某些区域集群可能成功横向扩展,而某些区域集群的横向扩展尝试可能失败。如果某个区域集群横向扩展成功,则所有其他区域集群会继续重试横向扩展,直到所有其他横向扩展也都成功。

如果所有区域集群均未能成功横向扩展,则多区域集群的“非协调式”横向扩展将失败。

注意

当区域集群在不同时间进行横向扩展时,“非协调式”横向扩展可能导致区域集群之间长时间存在容量不平衡。这可能导致 MultiRegionClusterReplicationLag 指标增加,并且区域集群数据可能长时间处于分歧状态。

MemoryDB 多区域集群的区域集群可以配置不同数量的副本节点,但区域集群中的所有分片必须具有相同数量的副本节点。

如果您正在通过横向缩减或纵向缩减来减小 MemoryDB 多区域集群的规模和内存容量,请确保新配置具有足够的内存和空闲 IP 地址来存储数据,具备足够的引擎开销,并且区域集群的 MultiRegionClusterReplicationLag 指标保持在数秒或一分钟范围内。

您可以使用 AWS 管理控制台、AWS CLI 和 MemoryDB API 对 MemoryDB 多区域集群进行横向和垂直扩缩。