O que é Kafka?

Esta API assíncrona é implementada usando o protocolo Apache Kafka. É uma plataforma de eventos de publicação/assinatura projetada para que seja tolerante a falhas, proporcionando uma plataforma de alto rendimento e baixa latência para manipulação de feeds de dados em tempo real.

O

Kafka é executado como um cluster de um ou mais servidores (brokers Kafka). A carga é balanceada em todo o cluster, distribuindo-a entre os servidores.

Conceitos básicos

Tópico

Um fluxo de mensagens é armazenado em categorias chamadas tópicos. Os tópicos são representados como canais em um documento da AsyncAPI. Cada tópico abrange uma ou mais partições. Cada partição está em uma lista ordenada de mensagens. Cada uma das mensagens em uma partição recebem um número monotonicamente aumentado chamado de compensação.

Mensagem/Registro

A unidade de dados em Kafka que compreende duas partes: cabeçalhos e valor. Os cabeçalhos são comumente usados para dados sobre a mensagem e o valor é o corpo da mensagem.

Produtor

Um processo que publica Streams de mensagens nos tópicos do Kafka. Um produtor pode publicar em um ou mais tópicos e pode, opcionalmente, escolher a partição que armazena os dados.

Consumidor

Um processo que consome mensagens de tópicos do Kafka e processa o feed de mensagens. Um consumidor pode consumir de um ou mais tópicos ou partições.

Grupo de consumidores

Um grupo nomeado de um ou mais consumidores que, juntos, consomem as mensagens de um conjunto de tópicos. Cada consumidor no grupo lê mensagens de partições específicas às quais ele é designado. Cada partição é designada a somente um consumidor no grupo. A designação é controlada pelas propriedades do consumidor 'client.id' e 'group.id '.

Consumindo desta API

Será necessário um cliente Kafka para conexão e assinatura. As bibliotecas do cliente Kafka estão disponíveis para uma variedade de linguagens de programação, e o código de amostra para cada canal é um ponto de início para o uso de um cliente Java Kafka para consumir eventos usando um consumidor do Kafka.