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.
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.