了解最大自动缩放任务数 - Amazon Managed Streaming for Apache Kafka

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

了解最大自动缩放任务数

maxAutoscalingTaskCount参数是一个可选容量字段,可用于 Amazon MSK Connect 中的自动缩放连接器。此参数允许您设置连接器自动缩放操作期间可以创建的最大任务数的上限,从而更好地控制资源利用率和性能。

当您使用自动扩展容量模式时,Amazon MSK Connect 会自动使用与工作人员数量和 MCUs 每个工作人员的数量成比例的值来覆盖连接器的tasks.max属性。该maxAutoscalingTaskCount参数提供了一个额外的可配置选项,用于限制为连接器创建的最大任务数。

当您想要控制与 Kafka 集群中主题分区数量相关的并行度时,此功能特别有用。通过设置此限制,您可以优化性能并防止在自动计算的任务计数超过工作负载要求时可能出现的任务分配效率低下。

配置要求

maxAutoscalingTaskCount参数必须满足以下要求:

maxAutoscalingTaskCount ≥ maxWorkerCount

此要求通过为每位工作人员维护至少一项任务来确保资源的有效利用。系统强制执行此最低限度以优化连接器功能。

如果指定maxAutoscalingTaskCount,则该限制将在连接器创建后以及所有后续扩展事件中立即应用。在自动缩放操作期间,随着工作人员数量的增加或减少,系统将继续遵守此限制。该tasks.max值根据工作人员数量和 MCUs 每个工作人员的数量按比例调整,但永远不会超过配置maxAutoscalingTaskCount的值。

如果您未指定此参数,则连接器将使用没有任何限制的标准计算:tasks.max = workerCount × mcuCount × tasksPerMcu(其中 tasksPerMcu 为 2)。

何时使用 C maxAutoscalingTask ount

考虑maxAutoscalingTaskCount在以下场景中使用:

  • 分区数有限:当你的 Kafka 主题的固定分区数低于自动计算的任务数时,设置限制可以防止创建没有工作可执行的空闲任务。

  • 性能优化:当您确定特定任务计数可为您的工作负载提供最佳吞吐量时,您可以限制最大任务数以保持稳定的性能。

  • 资源管理:无论有多少工作线程在运行,都要控制连接器的最大并行度和资源消耗。

示例

对于具有以下配置的连接器:

minWorkerCount: 1 maxWorkerCount: 4 mcuCount: 8 maxAutoscalingTaskCount: 15

否则maxAutoscalingTaskCount,当扩展到 4 个工作器时,连接器将创建 64 个任务(每个 MCU 4 个工作人员 MCUs × 8 × 2 个任务)。maxAutoscalingTaskCount设置为 15 时,连接器仅创建 15 个任务,如果您的 Kafka 主题有 15 个或更少的分区,这可能更合适。