O que é Apache Kafka?

Última atualização: 12/06/2026

O Apache Kafka é uma plataforma de streaming de eventos de código aberto usada para coletar, processar e armazenar fluxos contínuos de eventos. O Kafka é usado com frequência como middleware de mensagens, mas oferece escalonabilidade e redundância que permitem que aplicativos distribuídos lidem com um único evento por dia ou bilhões por segundo. Ao contrário dos sistemas de mensagens tradicionais, o Kafka também é um sistema de armazenamento durável que armazena registros em um registro ordenado que pode ser lido e relido de forma reproduzível. Isso faz do Kafka um sistema comum para distribuir mudanças em bancos de dados transacionais que podem ser usados para reconstruir ou materializar os dados em análises e outros sistemas. Esse padrão às vezes é chamado de origem de eventos.

Portanto, o Kafka é importante para padrões tradicionais de barramento de eventos, em que aplicativos orientados a eventos são integrados por meio de middleware de mensagens, bem como arquiteturas de distribuição de dados (ou "materialização heterogênea"). Isso é de baixa latência e econômico. 

Conheça o Serviço Gerenciado do Google Cloud para Apache Kafka para automatizar sua infraestrutura de streaming e acelerar os fluxos de trabalho de dados para IA. 

Visão geral do Apache Kafka

O Kafka coleta dados de streaming e registra exatamente o que aconteceu e quando. Esse registro é chamado de registro somente de anexos. É imutável porque pode ser anexado, mas não alterado. A partir daí, os aplicativos podem se inscrever no registro para acessar os dados ou  publicar nele para adicionar mais dados em tempo real.

Embora o núcleo do "Kafka" geralmente se refira ao sistema de armazenamento de baixa latência, a plataforma de streaming inclui outros componentes importantes. Primeiro, o Kafka Connect, um sistema de integração que permite conectores escalonáveis horizontalmente para muitos sistemas importantes. Isso inclui conectores de captura de dados alterados (CDC), replicação de cluster para cluster (MirrorMaker) e a capacidade de gravar dados em sistemas downstream, como lakehouses (Apache Iceberg), lakes (arquivos Avro ou Parquet no armazenamento de objetos), bem como bancos de dados como o BigQuery. Em segundo lugar, os projetos do Kafka vêm com um conjunto de clientes avançados, incluindo clientes de linha de comando administrativos para manipular clusters e tópicos, bem como bibliotecas de clientes de alto desempenho para leitura e gravação de dados.   

Historicamente, o processamento de dados era feito com jobs em lote periódicos, em que os dados brutos eram primeiro armazenados e depois processados em intervalos arbitrários. Por exemplo, uma empresa de varejo pode esperar até o final do dia para analisar os dados de vendas. Uma das limitações do processamento em lote é que ele não é em tempo real. Cada vez mais, as organizações e os cientistas de dados querem analisar os dados em tempo real à medida que são gerados para tomar decisões de negócios oportunas e alimentar modelos de IA em tempo real.É aí que entra o streaming de eventos. O streaming de eventos é o processamento contínuo de streams infinitos de eventos, à medida que são criados. Isso captura o valor de tempo dos dados e permite aplicativos baseados em push que agem sempre que algo interessante acontece. Para os cientistas de dados, isso significa a capacidade de realizar engenharia de atributos em tempo real e fornecer previsões de baixa latência. 

Por que os engenheiros de dados usam o Apache Kafka

Embora muitas organizações se concentrem nos insights downstream gerados por cientistas de dados, os principais profissionais do Apache Kafka são engenheiros de dados. Esses profissionais são responsáveis por criar os "pipelines de dados" e as integrações essenciais que conectam os aplicativos e bancos de dados de uma empresa.

Os engenheiros de dados usam o Kafka para criar conexões confiáveis em toda a pilha de tecnologia. Essas integrações podem assumir várias formas:

  • Application-to-application: permite que microsserviços se comuniquem por meio de arquiteturas orientadas a eventos
  • Database-to-database:: sincronização de dados entre diferentes sistemas de armazenamento para redundância ou processamento especializado
  • Application-to-database: captura de eventos de front-end, como interações do usuário em um app para dispositivos móveis, e streaming deles para bancos de dados de back-end

Em uma empresa típica, o engenheiro de dados trabalha em estreita colaboração com as equipes de aplicativos para garantir que eventos de usuários, transações comerciais e atualizações de banco de dados sejam exportados para o Kafka. Esse processo, conhecido como sindicação de dados, disponibiliza esses eventos para vários usuários e sistemas em toda a organização simultaneamente.

Os engenheiros de dados escrevem o código para pipelines que transformam registros de aplicativos brutos em formatos estruturados e de alta qualidade. Essa transformação é essencial para os cientistas de dados, que geralmente precisam de dados "limpos" armazenados em ambientes consultáveis, como data lakes, lakehouses ou data warehouses, em vez de interagir diretamente com o fluxo bruto do Kafka.

No contexto da ciência de dados e da IA, o valor do Kafka está principalmente no acesso aos dados. Ele serve como uma fonte abrangente para registros de aplicativos e alterações de banco de dados. Embora o Kafka seja famoso pela velocidade, para a maioria dos fluxos de trabalho de ciência de dados, a amplitude e a confiabilidade da fonte de dados são muito mais importantes do que a entrega de baixa latência.

Por que o Kafka é importante para sistemas de IA

Os sistemas de IA são executados com dados de treinamento e contexto de alta qualidade durante a inferência. O Kafka costuma ser essencial para o treinamento, porque coleta dados de treinamento de vários sistemas de origem, desde registros de interação até mudanças no banco de dados. Em muitas organizações, ele é usado como um barramento de eventos que agrega eventos de vários serviços ou simplesmente como um local de preparação para registros de aplicativos. Isso a torna uma fonte de dados natural e única para gerar conjuntos de dados de treinamento. Como o Kafka armazena registros em uma sequência ordenada, ele também pode ser uma opção particularmente boa para LLMs que operam em sequências. 

O Kafka é essencial para muitas tarefas de inferência on-line. A capacidade de um aplicativo ou agente de fornecer uma recomendação de produto, resposta de pesquisa ou comando relevante depende de ter o contexto mais atualizado para um usuário. Como o Kafka oferece suporte a comunicação escalonável e de baixa latência, ele permite que um sistema de inferência atualize o contexto do usuário com os eventos mais recentes em dezenas de milissegundos. Por exemplo, se um usuário rejeitar a recomendação de música mais recente em um app de música ou se o preço de uma ação mudar em um aplicativo financeiro, um serviço de recomendação poderá gerar imediatamente uma sugestão melhor levando essa entrada em consideração. 

Quais são os benefícios do Kafka?

Ecossistema de código aberto

O código-fonte do Kafka está disponível sem custos financeiros, beneficiando-se de uma comunidade global que contribui com uma ampla gama de conectores, ferramentas de monitoramento e plug-ins.

Escalonamento e velocidade

O Kafka é uma plataforma distribuída, ou seja, o processamento é dividido entre várias máquinas. Isso permite que ele seja escalonado para lidar com volumes de dados massivos, mantendo a latência abaixo de milissegundos.

Alta disponibilidade

Como é distribuído, o Kafka continua confiável mesmo se máquinas individuais falharem, o que o torna adequado para aplicativos essenciais.

O Kafka como um serviço gerenciado

A configuração de clusters locais do Kafka é notoriamente difícil, exigindo que as equipes provisionem máquinas, gerenciem a segurança e lidem com patches de rotina.  Com um serviço gerenciado, um provedor lida com a infraestrutura subjacente, permitindo que você se concentre na criação de aplicativos. Isso é especialmente benéfico para equipes de ciência de dados que querem se concentrar no desenvolvimento de modelos e insights em vez de no gerenciamento de infraestrutura. 

Resolva seus desafios comerciais com o Google Cloud

Clientes novos recebem US$ 300 em créditos para usar no Google Cloud.
Fale com um especialista em vendas do Google Cloud para discutir suas necessidades em mais detalhes.

Como funciona o Kafka?

O Kafka permite o processamento de eventos de streaming por meio de quatro funções principais:

  1. Produção ou gravação de dados: uma fonte pode gravar registros, eventos, registros ou dados em tópicos (agrupamentos de eventos de dados). 
  2. Repositório: o Apache Kafka oferece armazenamento durável e altamente disponível, muitas vezes servindo como uma "fonte de verdade" confiável para arquiteturas orientadas a eventos. Isso é especialmente útil quando você precisa voltar e analisar o que aconteceu historicamente, em vez de simplesmente reagir a eventos ao vivo. Como o Kafka armazena registros em um log ordenado que pode ser lido e relido de maneira reproduzível, ele permite que as equipes recriem dados em sistemas de análise ou investiguem transações passadas com contexto completo 
  3. Consumir: um aplicativo pode ler um ou mais tópicos para  processar o fluxo de dados resultante.
  4. Conectar: conectores reutilizáveis vinculam o Kafka a sistemas atuais, como o BigQuery e o Dataproc.

Outros recursos

Vá além

Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos, tudo isso sem custo financeiro.

Google Cloud