DEV Community

Cover image for Primeiros passos com o Kafka
Allef Mizael
Allef Mizael

Posted on

Primeiros passos com o Kafka

Primeiros passos com o Kafka

Vamos para um início rápido instalando o Kafka a partir da imagem disponível no Docker Hub. Docker não é o assunto deste artigo, por isso, não vamos nos aprofundar, mas se você nem faz ideia do que eu estou falando, recomendo dar um passo atrás para conhecer melhor essa ferramenta.

Execute o seguinte comando para criar um container rodando o Kafka:

docker run -d --name broker apache/kafka:latest

Se tudo tiver corrido bem, ao executar o comando docker ps, vc verá algo como:

Image description

Para criar tópicos e utilizá-los, precisamos acessar o container onde o nosso Kafka é executado, então podemos rodar o seguinte comando:

docker exec --workdir /opt/kafka/bin/ -it broker sh

Vamos então criar o tópico NOVA_VENDA:

./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic NOVA_VENDA

Em seguida, vamos produzir mensagens neste tópico. Primeiro vamos executar o seguinte comando para criar o nosso produtor:

./kafka-console-producer.sh --bootstrap-server localhost:9092 --topic NOVA_VENDA

Precisaremos então digitar as mensagens que serão publicadas, cada linha corresponde a uma mensagem, imaginemos que cada valor separado por vírgula seja uma informação sobre a nossa venda, no caso, número do pedido, descrição do produto e valor, respectivamente:

100,Computador,5000
101,Livro,150
102,Creme hidratante,78

Image description

Em outro terminal, podemos executar um consumidor para as mensagens que acabamos de criar para o tópico. Neste comando, vale destacar o argumento “--from-beginning”, que indica ao Kafka que o nosso consumidor deve buscar as mensagens geradas desde o momento da criação do tópico e não somente desde a criação do consumidor:

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic NOVA_VENDA --from-beginning

Image description

Nesse breve tutorial nós:

  • colocamos uma instância de Kafka no ar;
  • criamos um tópico
  • produzimos mensagens para o tópico criado
  • consumimos as mensagens criadas

No próximo post, pretendo falar um pouco mais sobre o conceito de partições. Até breve!

Top comments (0)