intermediatebig-data

Apache Kafka

A durable, high-throughput pipe for streaming data between systems in real time.

Key Points

What it is

Apache Kafka is a distributed event streaming platform that lets systems publish and subscribe to continuous streams of data (like clicks, transactions, or sensor readings) in real time, reliably and at very high throughput.

Why it exists

Before Kafka, connecting many data-producing systems to many data-consuming systems meant building fragile, tightly-coupled point-to-point pipelines. Kafka exists to act as a central, durable, high-throughput hub — producers write to it once, and any number of consumers can read from it independently, at their own pace.

Intuition

Think of Kafka as a massive, always-running conveyor belt at a factory. Different machines (producers) place items onto the belt continuously. Different workstations (consumers) pick items off the belt whenever they're ready, at their own pace, without needing to coordinate directly with whichever machine placed the item there.

When to use

When not to use

Common mistakes

In practice

Commonly sits at the center of real-time data pipelines feeding streaming dashboards, fraud detection systems, and online machine learning models that need to react to events as they happen rather than in nightly batches.

Was this concept helpful?

Spot an error or gap? Suggest an edit →

Related concepts

stream-vs-batch-processingreal-time-data-pipelinesdata-partitioning-sharding
Chirp at me!