Entenda a contagem máxima de tarefas de escalonamento automático - Amazon Managed Streaming for Apache Kafka

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Entenda a contagem máxima de tarefas de escalonamento automático

O maxAutoscalingTaskCount parâmetro é um campo de capacidade opcional disponível para conectores de escalabilidade automática no Amazon MSK Connect. Esse parâmetro permite definir um limite máximo para o número máximo de tarefas que podem ser criadas durante as operações de escalonamento automático do conector, fornecendo maior controle sobre a utilização e o desempenho dos recursos.

Quando você usa o modo de capacidade com escalabilidade automática, o Amazon MSK Connect substitui automaticamente a propriedade tasks.max do seu conector com um valor proporcional ao número de trabalhadores e por trabalhador. MCUs O maxAutoscalingTaskCount parâmetro fornece uma opção adicional configurável para limitar o número máximo de tarefas criadas para seu conector.

Esse recurso é particularmente útil quando você deseja controlar o nível de paralelismo em relação ao número de partições de tópicos em seu cluster Kafka. Ao definir esse limite, você pode otimizar o desempenho e evitar a distribuição ineficiente de tarefas que pode ocorrer quando a contagem de tarefas calculada automaticamente excede seus requisitos de carga de trabalho.

Requisitos de configuração

O maxAutoscalingTaskCount parâmetro deve atender aos seguintes requisitos:

maxAutoscalingTaskCount ≥ maxWorkerCount

Esse requisito garante a utilização eficiente dos recursos mantendo pelo menos uma tarefa por trabalhador. O sistema impõe esse mínimo para otimizar a funcionalidade do conector.

Quando você especificamaxAutoscalingTaskCount, o limite é aplicado imediatamente após a criação do conector e durante todos os eventos de escalabilidade subsequentes. À medida que o número de trabalhadores aumenta ou diminui durante as operações de escalonamento automático, o sistema continua cumprindo esse limite. O tasks.max valor se ajusta proporcionalmente ao número de trabalhadores e MCUs por trabalhador, mas nunca excede o valor configuradomaxAutoscalingTaskCount.

Se você não especificar esse parâmetro, o conector usará o cálculo padrão sem limite: tasks.max = workerCount × mcuCount × tasksPerMcu (onde tasksPerMcu é 2).

Quando usar o maxAutoscalingTask Count

Considere o uso maxAutoscalingTaskCount nos seguintes cenários:

  • Contagem limitada de partições: quando seus tópicos do Kafka têm um número fixo de partições menor do que a contagem de tarefas calculada automaticamente, definir um limite impede a criação de tarefas ociosas sem trabalho a ser executado.

  • Otimização de desempenho: quando você identifica que uma contagem específica de tarefas fornece uma taxa de transferência ideal para sua carga de trabalho, você pode limitar o máximo de tarefas para manter um desempenho consistente.

  • Gerenciamento de recursos: quando você deseja controlar o máximo de paralelismo e consumo de recursos do seu conector, independentemente de quantos trabalhadores estejam em execução.

Exemplo

Para um conector com a seguinte configuração:

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

Sem issomaxAutoscalingTaskCount, quando escalado para 4 trabalhadores, o conector criaria 64 tarefas (4 trabalhadores × 8 MCUs × 2 tarefas por MCU). Com maxAutoscalingTaskCount definido como 15, o conector cria somente 15 tarefas, o que pode ser mais apropriado se o tópico do Kafka tiver 15 ou menos partições.