Apache Kafka - labsdev-Training/wiki.github.io GitHub Wiki

Introdução

O kafka é uma plataforma de streaming de eventos distribuída de código aberto. Pensado para ter alta disponibilidade, capacidade de processar e escalar grandes volumes de dados.

O Kafka surge da necessidade de ser um broker (software que recebe a informação e depois espalha a informação, para todos os pontos do software que precisam da informação). O Kafka é um cluster que recebe informação e guarda a informação dentro de um tópico específicos, após outras aplicações que necessitam consumir essas aplicações vão acessar esse kluster do kafka em um tópico específico e irá consumir essa informação. image

Analogia:

  • Consumidor de música: quem gosta de ouvir música.
  • Produtor de música: músico.

Produtores, publicam as músicas nos serviços de streaming para consumidores, consomem essas músicas, através de estilos. Publisher (produtores de informação) Subscribers (assinantes = consumers)

Nesse cotntexto as ferramentas, produzem os dados (tópicos) para o kafka. Cluster: rede de computadores que trabalham, buscando o mesmo objetivo. O Kafka trabalha e pode trabalhar em um cluster.

Particionamento: dividir o banco de dados em partes menores. Contém partes dos dados. A aplicação consultar a partição que tem os dados de interesse.

Caso de Uso

image