Apache Kafka Tutorials


Apache Kafka is an open-source stream-processing software platform developed by the Apache Software Foundation, written in Scala and Java. Originally created by LinkedIn and subsequently open-sourced, Kafka is designed for fault tolerance, high throughput, scalability, and distributed processing. It functions as a publish-subscribe messaging system, facilitating real-time data pipelines and streaming applications. At its core, Kafka enables the storage and processing of large streams of data in real-time, making it an essential tool in scenarios where high-volume data ingestion, integration, and real-time analytics are critical.

Kafka’s architecture consists of a cluster of servers where each server functions as a broker. The key components of Kafka include producers, which publish data to topics; consumers, which subscribe to these topics and process the data; topics, which are categories for message organization; and partitions within topics for parallel processing. Kafka ensures data durability and reliability through replication, maintaining copies of data across multiple brokers. This robust architecture allows Kafka to seamlessly handle high-throughput workloads in distributed environments, making it a popular choice for event-driven architectures, log aggregation, and operational metrics collection.

This series of tutorials will help you learn Apache Kafka through concise explanations and practical examples.

1 An Introduction to Apache Kafka & Event Streaming

2 How to install and configure Apache Kafka on Windows

3 How to set up Kafka on Mac

4 How to download and install Kafka on Ubuntu

5 How to use Kafka with Docker and Docker Compose

6 5 ways to check Apache Kafka version

7 How to run Kafka services on custom ports

8 How to completely remove Kafka from your computer

9 Apache Kafka: A Practical Cheat Sheet (Updated)

10 Understanding Topics and Partitions in Apache Kafka (with Examples)

11 Kafka: How to Create and Manage Topics

12 Apache Kafka: How to List and Inspect Topics

13 An Introduction to Producer and Consumer in Apache Kafka

14 Kafka: How to Write a Simple Producer in Python

15 Kafka: How to Create a Simple Producer in Java

16 How to Serialize and Deserialize Messages in Kafka

17 How to Write a Kafka Consumer in Python

18 Building a Basic Kafka Consumer in Java

19 How to Manage Offsets in Kafka (with Examples)

20 How to Ensure Ordered Processing in Kafka (with Examples)

21 How to Reset Consumer Offsets in Kafka

22 Getting Started with Kafka Streams: A Practical Guide (with Examples)

23 How to build a simple Kafka Streams application in Java

24 Understanding Stateful and Stateless Processing in Kafka Streams (with Examples)

25 How to Implement Windowing in Kafka Streams (with Examples)

26 How to Expand a Kafka Cluster (with Examples)

27 How to Add and Manage Brokers in Kafka (with Examples)

28 Handling Partition Replication in Kafka: A Practical Guide

29 How to Achieve High Availability in Kafka (with Examples)

30 4 Ways to Monitor Kafka Cluster Health

31 How to Track Key Performance Metrics in Kafka (with Examples)

32 How to interpret Kafka logs (with 8 examples)

33 How to Set Up Kafka Monitoring Alerts (with Examples)

34 How to Set Up ACLs in Kafka

35 How to Configure SSL/TLS in Kafka

36 How to Enable SASL Authentication in Kafka

37 How to Tune Kafka for High Performance

38 How to Balance Throughput with Latency in Kafka

39 How to Optimize Kafka Producers and Consumers (with Examples)

40 How to Choose the Right Hardware and Network Settings for Kafka

41 How to Use Kafka Connect: Tutorial & Examples

42 How to Set Up Source and Sink Connectors in Kafka

43 How to Integrate Kafka with Databases

44 How to Connect Kafka with Hadoop

45 Understand and Apply Exactly-Once Semantics in Kafka (with Examples)

46 How to Configure Kafka for Exactly-Once Processing

47 Apache Kafka: Addressing the Challenges of Exactly-Once Semantics

48 How to Integrate Kafka into Microservices (with Examples)

49 How to Design Kafka-Based Event-Driven Microservices (with Examples)

50 How to Scale Kafka in a Microservices Environment (Kubernetes)

51 How to Resolve Kafka Deployment Challenges: A Practical Guide

52 Getting started with KSQL for Kafka stream processing

53 How to Implement Complex Event Processing in Kafka

54 How to Migrate from Traditional Messaging Systems to Kafka

55 ZooKeeper-less Kafka: Using Kraft and Raft Metadata Mode

56 Kafka: How to limit the number of messages per partition

57 Kafka: Limit the memory used for buffering across all threads

58 Kafka: How to add events to a topic with a timestamp

59 Kafka: How to read events from a topic (with examples)

60 Kafka: How to import/export CSV/TXT data

61 How to Connect to Kafka from a Remote Machine

62 How to Connect to Kafka Running in Docker From Outside Docker

63 How to Deliver Large Messages in Kafka (3 Approaches)

64 Understanding session.timeout.ms in Kafka (through examples)

65 Understanding max.poll.interval.ms in Kafka (with examples)

66 Fixing kafka.common.InvalidMessageSizeException: Invalid Message Size

67 Fixing Kafka java.lang.OutOfMemoryError: Java heap space

68 Solving Kafka java.lang.OutOfMemoryError: GC overhead limit exceeded

69 Kafka: How to set retention time for messages in a topic

70 Apache Kafka: How to Purge Topics and Messages

71 Kafka: How to read records in JSON format

72 Kafka: How to change the number of partitions in a topic

73 How to create a custom Kafka serializer and deserializer

74 Kafka: 3 ways to delete committed offsets for a consumer group

75 Understanding Kafka max.poll.records (with examples)

76 Kafka: Adding partitions to an existing topic (with examples)

77 How to delete a Kafka topic (with examples)

78 Kafka: How to Customize Start Offset for a Consumer

79 Kafka: How to access record headers and metadata

80 Fixing Kafka Error: Couldn't find or load main class QuorumPeerMain (4 solutions)

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments