Ga naar hoofdinhoud

Apache Kafka voor beginners: een complete gids

Ontdek Apache Kafka met onze gids voor beginners. Leer de basis, ga aan de slag en verken geavanceerde features en toepassingen uit de echte wereld van dit krachtige event-
Bijgewerkt 1 jun 2026  · 8 min lezen

Microservices en event-gebaseerde architecturen bepalen tegenwoordig het moderne applicatielandschap. De tijd van batchverwerking is voorbij. Om te voldoen aan de eisen van snelheid en beschikbaarheid mikken ontwikkelaars op near-realtime en een volledig losgekoppelde applicatiearchitectuur.

Een eventbeheersysteem wordt meestal gebruikt door losgekoppelde applicaties om de integratie tussen verschillende services te vergemakkelijken. Een andere toepassing voor een event store is in event-sourcing-architecturen, waar alle applicatielogica wordt uitgedrukt in termen van events. Dit is waar Apache Kafka in beeld komt.

In essentie is Kafka een framework voor gedistribueerde event stores en stream processing dat kan worden ingezet als message broker, event store, queuemanagementsysteem, enzovoort. Je kunt onze vergelijking van Kafka vs Amazon SQS in een aparte gids lezen en in onze tutorial bekijken hoe Kafka-partities werken.

Wil je een leerplan maken? Bekijk dan deze blog over hoe je Apache Kafka leert.

TL;DR

  • Apache Kafka is een open-source, gedistribueerd event-streamingplatform, oorspronkelijk ontwikkeld bij LinkedIn, en wordt nu gebruikt door meer dan 80% van de Fortune 100-bedrijven
  • Kernconcepten: brokers (servers), topics (datacategorieën), producers (schrijvers) en consumers (lezers)
  • Kafka verwerkt miljoenen berichten per seconde met ingebouwde fouttolerantie, horizontale schaalbaarheid en het opnieuw afspelen van berichten
  • Geavanceerde features omvatten Kafka Streams voor realtime verwerking en Kafka Connect voor dataintegratie met externe systemen
  • Veelvoorkomende use-cases: activity tracking, microservice-berichten, logaggregatie, streamverwerking en het verzamelen van metrics

Wat is Apache Kafka?

Apache Kafka is een open-source, gedistribueerd event-streamingframework, ontwikkeld bij LinkedIn door een team met onder andere Jay Kreps, Jun Rao en Neha Narkhede. De tool is geoptimaliseerd voor het inladen en verwerken van streamingdata in realtime; je kunt hem dus gebruiken om high-performance datapijplijnen, streaming analytics-applicaties en dataintegratieservices te implementeren.

Na het opslaan van events stuurt het event-streamingplatform ze door naar de relevante services. Ontwikkelaars kunnen zo'n systeem schalen en onderhouden zonder afhankelijk te zijn van andere services. Omdat Kafka een alles-in-één pakket is dat kan worden gebruikt als message broker, event store of stream processing-framework, werkt het uitstekend voor zo'n vereiste.

Met hoge throughput en duurzaamheid kunnen honderden databronnen gelijktijdig enorme instromen van continue datastromen leveren die sequentieel en progressief kunnen worden verwerkt door het message-brokersysteem van Apache Kafka.

Kafka vs. traditionele message brokers

Kafka verschilt op een aantal fundamentele punten van traditionele message brokers zoals RabbitMQ:

Feature Apache Kafka Traditionele brokers (bijv. RabbitMQ)
Berichtretentie Configureerbaar (dagen tot jaren); berichten blijven bestaan na consumptie Berichten worden verwijderd na bevestiging door de consumer
Consumermodel Pull-based; consumers lezen in eigen tempo Push-based; broker levert aan consumers
Throughput Miljoenen berichten per seconde Duizenden tot tienduizenden per seconde
Volgorde Gegarandeerd binnen een partitie Verschilt per implementatie
Replay Consumers kunnen eerdere berichten op elk offset opnieuw lezen Niet ondersteund na levering
Primaire use-case Event streaming, logaggregatie, realtime pijplijnen Taakwachtrijen, request-reply-patronen

Waarom zou ik voor Kafka kiezen?

Belangrijke voordelen van Apache Kafka zijn onder andere:

Hoge throughput

Kafka’s doordachte architectuur, met onder meer datapartitionering, batchverwerking, zero-copy-technieken en append-only logs, maakt hoge throughput mogelijk en het verwerken van miljoenen berichten per seconde in scenario’s met hoge snelheid en groot volume. De lichtgewicht communicatieprotocol die effectieve client-brokerinteractie faciliteert, maakt realtime datastreaming haalbaar.

Schaalbaarheid

Apache Kafka verzorgt load balancing over servers door een topic in meerdere partities op te splitsen. Dit stelt gebruikers in staat om productieclusters over geografische gebieden of availability zones te verdelen en ze op of af te schalen naar behoefte. Met andere woorden: Apache Kafka kan eenvoudig worden opgeschaald om triljoenen berichten per dag te verwerken over een groot aantal partities.

Lage latentie

Apache Kafka gebruikt een cluster van servers met lage latentie (tot wel 2 milliseconden) om berichten efficiënt te leveren met door het netwerk begrensde throughput door datastromen los te koppelen.

Duurzaamheid en betrouwbaarheid

Apache Kafka verhoogt de fouttolerantie en duurzaamheid van data op twee belangrijke manieren:

  • Het verdeelt de opslag van datastromen in een fouttolerant cluster om serveruitval op te vangen
  • Het slaat berichten op schijf op en biedt intra-clusterreplicatie.

Hoge beschikbaarheid

Dankzij zijn clustergebaseerde brokers blijft Kafka operationeel tijdens een serverstoring. Dit werkt omdat Kafka, wanneer een van de servers problemen ondervindt, slim genoeg is om queries naar andere brokers te sturen.

Kerncomponenten van Kafka

Apache Kafka stelt gebruikers in staat om data in realtime te analyseren, records op te slaan in de volgorde waarin ze zijn gemaakt, en ze te publiceren en erop te abonneren.

image1.png

De kerncomponenten van Apache Kafka

Apache Kafka is een horizontaal schaalbaar cluster van commodity-servers dat realtime data verwerkt van meerdere "producer"-systemen en -applicaties (bijv. logging, monitoring, sensoren en Internet of Things-apps) en die met zeer lage latentie beschikbaar maakt voor meerdere "consumer"-systemen en -applicaties (bijv. realtime analytics) – zoals te zien in het diagram hierboven.

Let op: applicaties die afhankelijk zijn van realtime dataverwerking en analysetoepassingen kunnen beide als consumers worden beschouwd. Bijvoorbeeld een applicatie voor locatiegebonden micromarketing of logistiek.

Hier zijn enkele sleuteltermen die helpen om de kerncomponenten van Kafka beter te begrijpen:

  • Brokers zijn servers in het cluster die data opslaan en clients bedienen.
  • Topics zijn categorieën of feeds waarop records worden gepubliceerd. Let op: er zijn twee soorten topics: compacted en regulier. Records in compacted topics zijn niet beperkt door tijd of ruimte. Oudere topicberichten met dezelfde key worden overschreven door nieuwere berichten, en Apache Kafka verwijdert het meest recente bericht niet tenzij de gebruiker dat doet. Daarentegen kunnen records in reguliere topics zo worden geconfigureerd dat ze verlopen, waardoor verouderde data kan worden verwijderd en opslagruimte vrijkomt.
  • Producers zijn clientapplicaties die events publiceren (schrijven) naar Kafka-topics.
  • Consumers zijn applicaties die events uit Kafka-topics lezen en verwerken. Dankzij de Streams API voor Apache Kafka kunnen Java-programma’s worden geschreven die data uit Topics ophalen en resultaten teruggeven aan Apache Kafka. Externe streamverwerkingssystemen zoals Apache Spark, Apache Apex, Apache Flink, Apache NiFi en Apache Storm kunnen deze berichtstromen ook verwerken.
  • Kafka gebruikt een clientbibliotheek genaamd “Streams” om microservices en applicaties te maken waarbij data in clusters wordt opgeslagen voor input en output.

Aan de slag met Kafka

Belangrijk (update 2025): Apache Kafka 4.0, uitgebracht in maart 2025, heeft ZooKeeper volledig vervangen door KRaft (Kafka Raft)-modus. De onderstaande installatie-instructies gebruiken ZooKeeper en zijn alleen van toepassing op Kafka 3.x. Voor Kafka 4.x is ZooKeeper niet meer nodig of ondersteund. Als je nieuw begint, overweeg dan Docker met KRaft-modus voor een eenvoudigere setup.

Het wordt vaak aangeraden om Apache Kafka 3.x met Zookeeper te starten voor optimale compatibiliteit. Ook kan Kafka op Windows tegen verschillende problemen aanlopen omdat het niet native is ontworpen voor dit besturingssysteem. Daarom is het aan te raden om Apache Kafka op Windows te starten met WSL2 of Docker.

Het is niet aan te raden om de JVM te gebruiken om Kafka op Windows te draaien, omdat het niet beschikt over enkele POSIX-eigenschappen die uniek zijn voor Linux. Je zult uiteindelijk problemen tegenkomen als je probeert Kafka op Windows te draaien zonder WSL2.

Dat gezegd hebbende, de eerste stap om Apache Kafka op Windows te installeren is het installeren van WSL2.

Stap 1: Installeer WSL2

WSL2, of Windows Subsystem for Linux 2, geeft je Windows-pc toegang tot een Linux-omgeving zonder dat je een virtuele machine nodig hebt.

De meeste Linux-commando’s zijn compatibel met WSL2, waardoor het Kafka-installatieproces dichter bij de instructies voor Mac en Linux ligt.

Tip: Zorg dat je Windows 10 versie 2004 of hoger (Build 19041 en hoger) draait voordat je WSL2 installeert. Druk op de Windows-logotoets + R, typ "winver" en klik op OK om je Windows-versie te zien.

De eenvoudigste manier om Windows Subsystem for Linux (WSL) te installeren is door de volgende opdracht uit te voeren in een Administrator PowerShell of Windows Command Prompt en daarna je computer te herstarten:

wsl --install

Let op: je wordt gevraagd om een gebruikersaccount en wachtwoord aan te maken voor je nieuw geïnstalleerde Linux-distributie.

Volg de stappen op de website van Microsoft Docs als je vastloopt.

Stap 2: Installeer Java

Als Java niet op je machine is geïnstalleerd, moet je de laatste versie downloaden.

Stap 3: Installeer Apache Kafka

Op het moment van deze update is de nieuwste stabiele versie van Apache Kafka 4.2.0, uitgebracht in februari 2026. Kafka 4.0 (maart 2025) verving ZooKeeper door KRaft-modus voor metadatabeheer. Ga naar de downloadpagina voor de huidige stabiele versie.

Download de nieuwste versie bij de Binary downloads.

Zodra de download is voltooid, navigeer je naar de map waar Kafka is gedownload en pak je alle bestanden uit de gecomprimeerde map. Let op: wij hebben onze nieuwe map "Kafka" genoemd.

Stap 4: Start ZooKeeper

Zookeeper is vereist voor clustermanagement in Apache Kafka 3.x. Daarom moet Zookeeper worden gestart vóór Kafka. Het is niet nodig om Zookeeper apart te installeren, omdat het onderdeel is van Apache Kafka.

Open de opdrachtprompt en navigeer naar de root van de Kafka-directory. Voer daar de volgende opdracht uit om Zookeeper te starten:

.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

Stap 5: Start de Kafka-server

Open een andere opdrachtprompt en voer de volgende opdracht uit vanaf de root van Apache Kafka om Apache Kafka te starten:

.\bin\windows\kafka-server-start.bat .\config\server.properties

Stap 6: Maak een topic

Om een topic te maken, start je een nieuwe opdrachtprompt vanuit de root van de Kafka-directory en voer je de volgende opdracht uit:

.\bin\windows\kafka-topics.bat --create --topic MyFirstTopic --bootstrap-server localhost:9092

Dit maakt een nieuw Kafka-topic met de naam "MyFirstTopic".

Let op: om te bevestigen dat het correct is aangemaakt, zal het uitvoeren van de opdracht "Create topic <name of topic>" teruggeven.

Stap 7: Start de Kafka-producer

Er moet een producer worden gestart om een bericht in het Kafka-topic te plaatsen. Voer de volgende opdracht uit om dit te doen:

.\bin\windows\kafka-console-producer.bat --topic MyFirstTopic --bootstrap-server localhost:9092

Stap 8: Start de Kafka-consumer

Open een andere opdrachtprompt vanuit de root van de Kafka-directory en voer de volgende opdracht uit om de Kafka-consumer te starten:

.\bin\windows\kafka-console-consumer.bat --topic MyFirstTopic --from-beginning --bootstrap-server localhost:9092

Wanneer er nu een bericht door de Producer wordt geproduceerd, wordt het in realtime door de Consumer gelezen.

Een bericht geproduceerd door de Producer en in realtime gelezen door de Kafka Consumer

Een GIF toont een bericht dat door de Producer is geproduceerd en in realtime is gelezen door de Kafka Consumer.

Je hebt zojuist je eerste Kafka-topic gemaakt en een bericht van producer naar consumer gestuurd in realtime.

Geavanceerde Kafka-features

Kafka biedt verschillende geavanceerde features naast het basis doorgeven van berichten.

Kafka Streams

Met Apache Kafka kunnen ontwikkelaars fault-tolerant streamverwerkingsapplicaties bouwen met Kafka Streams. Het biedt API’s en een high-level Domain-Specific Language (DSL) voor het verwerken, transformeren en evalueren van continue datastromen.

Enkele belangrijke features zijn:

Streamverwerking

Kafka Streams maakt realtime verwerking van recordstreams mogelijk. Het stelt je in staat om data uit Kafka-topics in te nemen, de data te verwerken en te transformeren, en de verwerkte informatie vervolgens terug te publiceren naar Kafka-topics. Streamverwerking maakt near-realtime analytics, monitoring en verrijking van data mogelijk. Het kan worden toegepast op individuele records of op geaggregeerde vensters.

Event-time processing

Met behulp van de tijdstempels die aan records zijn gekoppeld, kun je out-of-order records afhandelen dankzij de ondersteuning van Kafka Streams voor event-time processing. Het biedt windowing-bewerkingen met event-time-semantiek, waardoor window joins, sessionization en tijdgebaseerde aggregaties mogelijk zijn.

Tijdgebaseerde operaties en windowing

Kafka Streams biedt een aantal windowing-bewerkingen waarmee gebruikers berekeningen kunnen uitvoeren over sessievensters, tumbling windows, sliding windows en vaste tijdvensters.

Eventgestuurde triggers, tijdgevoelige analyses en tijdgebaseerde aggregaties zijn mogelijk via windowed procedures.

Stateful processing

Tijdens streamverwerking stelt Kafka Streams gebruikers in staat om state bij te houden en bij te werken. Er is ingebouwde ondersteuning voor state stores. Let op: een state store is een key-value store die binnen een verwerkingstopologie kan worden bijgewerkt en bevraagd.

Geavanceerde streamverwerkingsfuncties zoals joins, aggregaties en anomaliedetectie worden mogelijk gemaakt door stateful-operaties.

Exactly-once processing

Kafka Streams biedt end-to-end semantiek voor exactly-once processing, wat garandeert dat elk record precies één keer wordt verwerkt—zelfs bij een storing. Dit wordt bereikt door gebruik te maken van Kafka’s ingebouwde duurzaamheids­garanties en transactionele features.

Kafka Connect

Het declaratieve, plugbare dataintegratiekader voor Kafka heet Kafka Connect. Het is een open-source, gratis component van Apache Kafka dat fungeert als een gecentraliseerde datahub voor eenvoudige integratie tussen bestandssystemen, databases, zoekindexen en key-value stores.

Kafka Connect is standaard opgenomen in de Kafka-distributie. Om het te installeren hoef je alleen een workerproces te starten.

Gebruik de volgende opdracht vanuit de root van de Kafka-directory om het Kafka Connect-workerproces te starten:

.\bin\windows\connect-distributed.bat 
.\config\connect-distributed.properties

Dit start de Kafka Connect-worker in distributed mode, waardoor hoge beschikbaarheid en schaalbaarheid mogelijk is door meerdere workers in een cluster te draaien.

Let op: het bestand .\config\connect-distributed.properties specificeert de informatie over de Kafka-broker en andere configuratie-eigenschappen voor Kafka Connect.

Connectors worden door Kafka Connect gebruikt om data tussen externe systemen en Kafka-topics over te brengen. Connectors kunnen worden geïnstalleerd en geconfigureerd om te voldoen aan jouw specifieke vereisten voor dataintegratie.

Een connector installeren is niet meer dan de connector-JAR downloaden en toevoegen aan de plugin.path-directory zoals vermeld in het bestand .\config\connect-distributed.properties.

Er moet een configuratiebestand voor de connector worden gemaakt, waarin de connectorclass en eventuele andere eigenschappen worden gespecificeerd. De Kafka Connect REST API en commandlinetools kunnen worden gebruikt om connectors te maken en te beheren.

Vervolgens moet je, om data uit andere systemen te combineren, de Kafka Connector configureren. Kafka Connect biedt diverse connectors voor het integreren van data uit verschillende systemen, zoals bestandssystemen, message queues en databases. Kies een connector op basis van jouw integratiebehoeften – zie de documentatie voor de lijst met connectors.

Toepassingen van Kafka in de praktijk

Hier zijn een paar veelvoorkomende use-cases van Apache Kafka.

Activity tracking

Een online e-commerceplatform kan Kafka gebruiken om gebruikersactiviteit in realtime te volgen. Elke gebruikersactie, zoals het bekijken van producten, artikelen toevoegen aan winkelwagens, aankopen doen, reviews achterlaten, zoeken, enzovoort, kan als event worden gepubliceerd naar specifieke Kafka-topics.

Andere microservices kunnen deze events opslaan of gebruiken voor realtime fraudedetectie, rapportage, gepersonaliseerde aanbiedingen en aanbevelingen.

Messaging

Met zijn verbeterde throughput en ingebouwde partitionering, replicatie, fouttolerantie en schaalbaarheid is Kafka een goed alternatief voor conventionele message brokers.

Een microservices-gebaseerde app voor ritten kan het gebruiken om berichtenuitwisseling tussen verschillende services te faciliteren.

Zo kan het rittenbedrijf Kafka gebruiken om met de driver-matchingservice te communiceren wanneer een passagier een reservering maakt. De driver-matchingservice kan vervolgens vrijwel in realtime een chauffeur in de buurt vinden en met een bericht antwoorden.

Logaggregatie

Dit houdt doorgaans in dat fysieke logbestanden van servers worden verzameld en opgeslagen op een centrale locatie voor verwerking, zoals een fileserver of data lake. Kafka abstraheert de data als een stream van berichten en filtert de bestands­specifieke informatie weg. Dit maakt het mogelijk om data met lagere latentie te verwerken en om gedistribueerde dataconsumptie en verschillende databronnen eenvoudiger te ondersteunen.

Nadat de logs naar Kafka zijn gepubliceerd, kunnen ze worden gebruikt voor troubleshooting, beveiligingsmonitoring en compliance-rapportage door een loganalyse­tool of een security information and event management (SIEM)-systeem.

Streamverwerking

Veel Kafka-gebruikers verwerken data in meertrapsverwerkingspijplijnen. Ruwe inputdata wordt uit Kafka-topics gehaald, geaggregeerd, verrijkt of anderszins getransformeerd naar nieuwe topics voor verdere consumptie of verwerking.

Een bank kan bijvoorbeeld Kafka gebruiken om realtime transacties te verwerken. Elke transactie die een klant start, wordt vervolgens als event gepost naar een Kafka-topic. Daarna kan een applicatie deze events innemen, de transacties verifiëren en afhandelen, verdachte transacties blokkeren en klant­saldi direct bijwerken.

Metrics

Een cloudprovider zou Kafka kunnen gebruiken om statistieken van gedistribueerde applicaties te aggregeren om realtime gecentraliseerde stromen van operationele data te genereren. Metrics van honderden servers, zoals CPU- en geheugengebruik, aantal verzoeken, foutpercentages, enzovoort, kunnen aan Kafka worden gerapporteerd. Monitoringapplicaties kunnen deze metrics vervolgens gebruiken voor anomaliedetectie, waarschuwingen en realtime visualisatie.

Tot slot

Apache Kafka is de industriestandaard voor realtime event streaming en wordt gebruikt door meer dan 80% van de Fortune 100-bedrijven. Met Kafka 4.0 en KRaft-modus is het uitrollen en beheren van clusters eenvoudiger dan in eerdere versies.

In dit artikel besprak ik waarom Kafka ertoe doet, de kerncomponenten, een stapsgewijze setup, geavanceerde features zoals Kafka Streams en Kafka Connect, en toepassingen in de echte wereld. Ga verder met leren via:


Kurtis Pykes 's photo
Author
Kurtis Pykes
LinkedIn
Onderwerpen

Begin vandaag nog aan je Data Engineer-reis!

Leerpad

Associate Data Engineer in Databricks

37 Hr
Learn data engineering on Databricks with SQL, Python, and Spark, and prepare for the Databricks Certified Data Engineer Associate certification.
Bekijk detailsRight Arrow
Begin met de cursus
Meer zienRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer zienMeer zien