Apache kafka

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.