Ú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.
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.
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:
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.
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.
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.
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.
O Kafka permite o processamento de eventos de streaming por meio de quatro funções principais:
Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos, tudo isso sem custo financeiro.