Definição – O que significa Apache Kafka?
O Apache Kafka é um sistema de mensagens de publicação-assinatura de código aberto projetado para fornecer tratamento rápido, escalonável e tolerante a falhas de feeds de dados em tempo real. Ao contrário do software tradicional de mensagens corporativas, o Kafka é capaz de lidar com todos os dados que fluem por uma empresa e fazer isso quase em tempo real.
Kafka foi escrito em Scala e foi originalmente desenvolvido pelo LinkedIn. Desde então, várias empresas o têm usado para construir plataformas em tempo real.
Definirtec explica Apache Kafka
O Kafka tem muitas semelhanças com os logs de transações e mantém feeds de mensagens em tópicos. Os produtores gravam dados nos tópicos e os consumidores leem esses tópicos, que são particionados e replicados em vários nós em um formato de sistema distribuído. O Kafka é único, pois trata cada partição de tópico como um log e cada mensagem em uma partição é atribuída a um deslocamento exclusivo. Ele retém todas as mensagens por um determinado período de tempo e os consumidores são responsáveis por rastrear sua localização em cada registro. Isso difere dos sistemas anteriores, em que os corretores eram responsáveis por esse rastreamento, o que limitava severamente a capacidade do sistema de escalar conforme o número de consumidores aumentava. Essa estrutura permite que o Kafka dê suporte a muitos consumidores e retenha grandes quantidades de dados com sobrecarga muito baixa.
Kafka pode ser usado:
- Como um corretor de mensagens tradicional
- Para rastreamento de atividade do site
- Para agregação de log
- Para processamento de fluxo de big data
O Kafka pode ser usado junto com Apache Storm, Apache HBase e Apache Spark para análise em tempo real e renderização de dados de streaming.