跳到主要内容
版本:BYOC 开发指南

集群扩缩容

在 Zilliz Cloud 中,Query CU 是一组用于处理索引和搜索请求的硬件资源。您可以将 Query CU 理解为一个全托管的物理节点,用于运行您的查询服务。Replica 是集群级别的拷贝,包含相同的集群资源与数据。Query CU 主要决定集群容量与计算资源,而 Replica 为查询服务提供额外的并行能力。

Query CU vs Replica

随着工作负载增长、写入数据增多,集群可能最终达到容量与性能上限。为提前应对,您可以在指标页面监控 Query CU 加载容量Query CU 计算资源,并在触达上限前进行扩缩容。

选择扩缩容 Query CU 还是 Replica,取决于您的目标。总体原则如下:

  • 对于 1–8 Query CU 的集群,通常可以直接扩缩容 Query CU。

  • 对于超过 8 Query CU 的集群,可以根据需求选择扩缩容 Query CU 或 Replica。

扩容 Query CU 以获得更高容量

当触及容量相关限制,或预计数据与负载将持续增长时,应扩容 Query CU。典型信号与场景包括:

  • 写入操作失败但读取仍成功(通常表明集群已达到或接近容量上限)。

  • 需要处理大规模数据集,或需要更多 collection(集合)。

  • CPU 或内存使用率较高。

详情请参见 Query CU 扩缩容

扩容 Replica 以提升吞吐或可用性

当集群容量足以容纳数据,但出现查询吞吐(QPS)瓶颈,或需要更高可用性时,应扩容 Replica。典型信号与场景包括:

  • 数据集规模小到中等,但出现 QPS 瓶颈。

  • 希望将查询负载分摊到多个相同拷贝上,以提升吞吐。

  • 希望提升可用性。

详情请参见Replica 扩缩容

扩缩容方式

Zilliz Cloud 提供多种方式来扩缩容集群资源。根据您的工作负载模式,您可以选择手动扩缩容定时扩缩容动态扩缩容

手动扩缩容

当您对工作负载有清晰认知,并能预测何时需要调整时,可手动调整资源。

  • Query CU:增加以扩展容量;当需求下降时减少以降低成本。

  • Replica:增加以提升查询吞吐与可用性;当需求下降时减少。

定时扩缩容

当工作负载存在周期性规律(例如工作日高峰、周末低谷)时,使用计划扩缩容。常见场景包括工作时间流量高峰、可预测的批处理/查询窗口等。

对于定时扩缩容,Zilliz Cloud 提供两种模式:

  • 基础模式:使用简单选择器定义调度计划

  • 高级模式:使用 Unix cron 表达式定义更灵活的调度计划

动态扩缩容

针对不可预测的工作负载,推荐启用动态扩缩容。Zilliz Cloud 会在您定义的最小–最大范围内,基于实时指标自动调整资源。

  • Query CU:基于 Query CU 加载容量指标值自动扩缩容。

  • Replica:基于 Query CU 计算资源指标值自动扩缩容。

常见问题

  1. 我应该选择哪种扩缩容方式?

    以下是帮助您快速选择合适扩缩容方式的建议:

    DIlKwYWaLhUfKRbeI93coBZTnmb

    • 如果您非常清楚工作负载模式,例如每天的峰值时间固定,手动扩缩容和定时扩缩容是最适合您的选择。

    • 如果您的工作负载不可预测,并且波动较大,推荐使用动态扩缩容。它会在您设定的范围内自动调整集群 Query CU,帮助在保持性能的同时优化成本。

  2. 什么情况下应该调整 Replica 数量,什么时候应该进行集群 Query CU 扩缩容?

    • 增加 Replica 数量适用于以下场景:

      • 需要处理高 QPS(每秒查询数)并保证高可用性。

      • 工作负载包含大量并发搜索或查询请求,希望提升吞吐量

      提示:每个 Replica 都是 Query CU 资源的独立拷贝,负责处理部分查询请求。

    • 增加 Query CU 适用于以下场景:

      • 需要处理大型数据集或支持更多 Collection。

      • CPU 或内存使用率较高。

      提示:增加 Query CU 可为每个 query node 提供更多计算资源和容量。

    • 建议:对于 1-8 CU 的集群,请直接进行集群扩缩容。对于超过 8 CU 的集群,请增加 Replica 数量。