Sitemap

Apache Kafka: automatizando testes de carga com kafkacat/kcat, Azure Pipelines e Bash

2 min readSep 16, 2023
Press enter or click to view image in full size

Na imagem que inicia este post temos um exemplo de pipeline do Azure DevOps para execução de testes de carga, com o envio de múltiplas mensagens simultâneas para um tópico do Apache Kafka. Diferentemente de outros exemplos convencionais e que focam em ferramentas para geração de requisições HTTP, nesta implementação fiz uso do utilitário kafkacat/kcat e de scripts Bash, tudo isto a partir de um ambiente baseado no Ubuntu 22.04.

Esta solução foi descrita em detalhes em uma live recente no Canal .NET, com o conteúdo disponível para ser assistido gratuitamente no YouTube:

Na listagem a seguir temos a implementação do Azure Pipelines que automatiza os testes de carga baseados no Apache Kafka:

  • O kafkacat/kcat está sendo instalado por meio da instrução apt-get install (linha 24);
  • Uma function chamada executar_comando foi definida (linhas 36 a 43), acionando o kafkacat para o envio de uma mensagem contendo uma string JSON. Os dados estão sendo direcionados para a porta do Apache Kafka disponibilizada por um recurso do Azure Event Hubs;
  • A função executar_comando será executada de forma paralela com as instruções seq e parallel (linha 50), produzindo com isto múltiplas mensagens simultâneas enviadas a um tópico do Apache Kafka.

O código desse Pipeline foi disponibilizado também no meu GitHub:

https://github.com/renatogroffe/AzureDevOps-Pipelines-Kafka-Bash-kcat-LoadTests

Caso achem útil a solução, peço por favor um ⭐️ no repositório apoiando. Fica também o convite para que vocês me sigam lá no GitHub!

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

Microsoft Most Valuable Professional (MVP), Docker Captain, Multi-Plataform Technical Audience Contributor (MTAC), Technical Writer and Speaker

No responses yet