Índice:
Definição - O que significa Apache Kafka?
O Apache Kafka é um sistema de mensagens de publicação / assinatura de código-fonte aberto projetado para fornecer tratamento rápido, escalável e tolerante a falhas de feeds de dados em tempo real. Diferentemente do software tradicional de mensagens corporativas, o Kafka é capaz de lidar com todos os dados que fluem através de uma empresa e fazê-lo quase em tempo real.
O Kafka foi escrito em Scala e foi originalmente desenvolvido pelo LinkedIn. Desde então, várias empresas o utilizaram para criar plataformas em tempo real.
Techopedia explica Apache Kafka
O Kafka tem muitas semelhanças com os logs de transações e mantém feeds de mensagens nos tópicos. Os produtores gravam dados em tópicos e os consumidores leem desses 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 recebe um deslocamento exclusivo. Ele mantém todas as mensagens por um certo período de tempo, e os consumidores são responsáveis por rastrear sua localização em cada log. Isso difere dos sistemas anteriores, nos quais os corretores eram responsáveis por esse rastreamento, o que limitava severamente a capacidade de expansão do sistema à medida que o número de consumidores aumentava. Essa estrutura permite que o Kafka ofereça suporte a muitos consumidores e retenha grandes quantidades de dados com despesas gerais muito baixas.
Kafka pode ser usado:
- Como um intermediário de mensagens tradicional
- Para rastreamento de atividades do site
- Para agregação de log
- Para processamento de fluxo de big data
O Kafka pode ser usado juntamente com o Apache Storm, Apache HBase e Apache Spark para análise em tempo real e renderização de dados de streaming.
