Como posso instâncias de escala automática baseadas no tópico Kafka lag?


7

Eu tenho grupos de dimensionamento automático que eu quero escalar dinamicamente para cima / para baixo com base na quantidade de lag exibida em certos tópicos do Kafka. Há um relacionamento 1: 1 entre o tópico e o grupo de dimensionamento automático que precisa ser dimensionado. Tenho certeza de que não posso usar as métricas do CloudWatch para abordar isso.

Existe uma maneira de conseguir isso usando Jenkins sem criar condições de corrida e outros problemas?

Nota: Meu aplicativo não é restringido por CPU, E / S de Disco ou qualquer outra métrica fornecida pelo CloudWatch; a restrição é a capacidade do aplicativo de processar a partir dos tópicos Kafka recebidos.


Talvez você possa explicar um pouco mais por que você acha que o cloudwatch não é uma boa abordagem?
Tensibai

Meu aplicativo não é restringido por CPU, E / S de disco ou qualquer outra métrica fornecida pelo CloudWatch; a restrição é a capacidade do aplicativo de processar a partir dos tópicos Kafka recebidos.
Danielhklein 04/04

Respostas:


7

O CloudWatch é absolutamente o caminho a seguir nesta frente. Você pode exibir o Kafka Metrics no CloudWatch:

  1. Ter um processo separado que envia as métricas para o CloudWatch.
  2. Peça aos seus Produtores, Consumidores ou Processadores de Stream que introduzam as métricas necessárias no CloudWatch.

O processo que você segue será dividido em:

  1. Publicar métricas personalizadas .
  2. Crie uma configuração de inicialização do AutoScaling .
  3. Crie um grupo e políticas de dimensionamento automático com base em sua métrica personalizada.

Dependendo do seu modelo de custo, eu também consideraria como você pode usar instâncias spot para manter os custos baixos, ou seja, se você tiver cargas de trabalho não críticas, mas com alta computação, use Instâncias Spot como parte de sua configuração de dimensionamento automático.


O primeiro link está esgotado
Marquis Blount

11
@MarquisBlount aqui está o cache
danielhklein
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.