Kafka e uma plataforma de streaming de eventos de alta velocidade, desenvolvida pela Confluent (baseada no projeto Apache Kafka). Ela permite que sistemas publiquem e consumam mensagens de forma assincrona, com alta disponibilidade e capacidade de escalar horizontalmente.

Como funciona

Kafka e um sistema de filas de mensagens distribuidas. Produtores (producers) enviam mensagens para tópicos (topics), e consumidores (consumers) assinam tópicos para receber as mensagens. Cada tópico e particionado em particoes, permitindo escalabilidade e paralelismo. O Kafka mantém mensagens persistidas por um periodo configurável, permitindo que consumidores reclamem mensagens não processadas.

Exemplo pratico

Um e-commerce funciona: o site envia eventos de clique, adicionar ao carrinho, pagamento, entrega. Esses eventos sao enviados ao Kafka via tópicos, e diferentes sistemas consomem: painel de analytics, alertas de estoque, sistemas de recomendacao, email de confirmação. Cada sistema consome apenas os eventos relevantes, sem sobrecarregar o código principal de negocios.

Termos relacionados

  • fila de mensagens: sistema de mensageria assincrona
  • streaming: processamento contínuo de eventos
  • ETL: extrair, transformar, carregar (Kafka e usado em pipelines de dados)

Como testar hoje

Use a documentação do Kafka e rode um producer com Python, enviando mensagens para um tópico. Depois, consuma essas mensagens com outro script. Em ambientes de nuvem, migre o Kafka para o Kafka Cloud Service.

Perguntas frequentas

  • O que e Apache Kafka? E uma plataforma de streaming de eventos de alta velocidade, usada para integrar sistemas, fila de mensagens e processamento de dados em tempo real.
  • Kafka é apenas uma fila de mensagens? Nao. Kafka é um sistema de streaming de eventos, com persistencia, troca, particionamento e consumo responsável, além de suporte a processamento de stream (KStreams, Kafka Streams).
  • Em que casos usar Kafka? Em sistemas de negocios que precisam de confiabilidade, escalabilidade e processamento de dados em tempo real, como painéis, eventos, IoT e analytics.