Comprendre le nombre maximal de tâches de mise à l'échelle automatique - Amazon Managed Streaming for Apache Kafka

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comprendre le nombre maximal de tâches de mise à l'échelle automatique

Le maxAutoscalingTaskCount paramètre est un champ de capacité facultatif disponible pour les connecteurs de mise à l'échelle automatique dans Amazon MSK Connect. Ce paramètre vous permet de définir une limite supérieure au nombre maximum de tâches pouvant être créées lors des opérations de mise à l'échelle automatique du connecteur, afin de mieux contrôler l'utilisation des ressources et les performances.

Lorsque vous utilisez le mode de capacité autoscalée, Amazon MSK Connect remplace automatiquement la propriété tasks.max de votre connecteur par une valeur proportionnelle au nombre de travailleurs MCUs et par travailleur. Le maxAutoscalingTaskCount paramètre fournit une option configurable supplémentaire pour limiter le nombre maximum de tâches créées pour votre connecteur.

Cette fonctionnalité est particulièrement utile lorsque vous souhaitez contrôler le niveau de parallélisme par rapport au nombre de partitions thématiques de votre cluster Kafka. En définissant cette limite, vous pouvez optimiser les performances et éviter une distribution inefficace des tâches qui pourrait se produire lorsque le nombre de tâches calculé automatiquement dépasse vos exigences en matière de charge de travail.

Exigences de configuration

Le maxAutoscalingTaskCount paramètre doit répondre aux exigences suivantes :

maxAutoscalingTaskCount ≥ maxWorkerCount

Cette exigence garantit une utilisation efficace des ressources en maintenant au moins une tâche par travailleur. Le système applique ce minimum afin d'optimiser la fonctionnalité du connecteur.

Lorsque vous spécifiezmaxAutoscalingTaskCount, la limite est appliquée immédiatement lors de la création du connecteur et lors de tous les événements de dimensionnement ultérieurs. À mesure que le nombre de travailleurs augmente ou diminue pendant les opérations de mise à l'échelle automatique, le système continue de respecter cette limite. La tasks.max valeur s'ajuste proportionnellement au nombre de travailleurs et MCUs par travailleur, mais ne dépasse jamais la valeur configuréemaxAutoscalingTaskCount.

Si vous ne spécifiez pas ce paramètre, le connecteur utilise le calcul standard sans limite : tasks.max = workerCount × mcuCount × tasksPerMcu (où tasksPerMcu est 2).

Quand utiliser maxAutoscalingTask Count

Envisagez maxAutoscalingTaskCount de l'utiliser dans les scénarios suivants :

  • Nombre de partitions limité : lorsque vos sujets Kafka comportent un nombre fixe de partitions inférieur au nombre de tâches calculé automatiquement, la définition d'une limite empêche la création de tâches inactives sans aucune tâche à effectuer.

  • Optimisation des performances : lorsque vous avez identifié qu'un nombre de tâches spécifique fournit un débit optimal pour votre charge de travail, vous pouvez limiter le nombre maximum de tâches afin de maintenir des performances constantes.

  • Gestion des ressources : lorsque vous souhaitez contrôler le parallélisme et la consommation de ressources maximaux de votre connecteur, quel que soit le nombre de travailleurs actifs.

Exemple

Pour un connecteur avec la configuration suivante :

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

Sans celamaxAutoscalingTaskCount, lorsqu'il est étendu à 4 travailleurs, le connecteur créerait 64 tâches (4 travailleurs × 8 MCUs × 2 tâches par microcontrôleur). Si ce paramètre est maxAutoscalingTaskCount défini sur 15, le connecteur ne crée que 15 tâches, ce qui peut être plus approprié si votre sujet Kafka comporte 15 partitions ou moins.