Wat is Kafka?

Deze asynchrone API wordt geïmplementeerd met behulp van het Apache Kafka-protocol. Het is een publicatie-subscribe evenementen platform ontworpen om te zijn fouttolerant, het verstrekken van een high-throughput en low-latency platform voor het verwerken van real-time data feeds.

Kafka wordt uitgevoerd als een cluster van een of meer servers (Kafka-brokers). De laden wordt over de hele cluster verdeeld door het te distribueren over de servers.

Sleutelbegrippen

Onderwerp

Een stroom van berichten wordt opgeslagen in categorieën die onderwerpen worden genoemd. Onderwerpen worden weergegeven als kanalen in een AsyncAPI-document. Elk onderwerp bevat een of meer partities. Elke partitie is een geordende lijst van berichten. De berichten op een partitie krijgen elk een monotone toenemend aantal genaamd de offset.

Bericht/Record

De eenheid van gegevens in Kafka die bestaat uit twee delen: kopteksten en waarde. Headers worden vaak gebruikt voor gegevens over het bericht en de waarde is de lopende tekst van het bericht.

Producent

Een proces dat gegevensstromen publiceert naar Kafka-onderwerpen. Een producent kan een of meer onderwerpen publiceren en kan desgewenst de partitie kiezen die de gegevens opslaat.

Consument

Een proces dat berichten van Kafka-onderwerpen consumeert en het voeren van berichten verwerkt. Een consument kan consumeren van een of meer onderwerpen of partities.

Consumentengroep

Een benoemde groep van een of meer consumenten die samen de berichten van een reeks onderwerpen consumeren. Elke consument in de groep leest berichten van specifieke partities waaraan het is toegewezen. Elke partitie wordt alleen toegewezen aan één consument in de groep. Toewijzing wordt bestuurd door de consumenteneigenschappen 'client.id' en 'group.id'.

Consumeren van deze API

U hebt een Kafka-client nodig om verbinding te maken en te abonneren. Er zijn Kafka-clientbibliotheken beschikbaar voor verschillende programmeertalen, en de voorbeeldcode voor elk kanaal is een beginpunt voor het gebruik van een Java Kafka-client voor het consumeren van events met behulp van een Kafka-consument.