Back to all articles
KafkaApache KafkaData StreamingMessagingBeginner

Apache Kafka for Beginners – What It Is and How to Use It

A simple explanation of what Apache Kafka is, why it's useful, and how you can start using it — with easy-to-understand examples.

Apache Kafka for Beginners – What It Is and How to Use It

Kafka Explained Simply

🔄 Apache Kafka — A Beginner’s Guide to Moving Data in Real Time

Have you ever wondered how companies like Netflix, Uber, or LinkedIn move data quickly between different parts of their systems?

How do they:

  • Track user activity in real-time?
  • Process payments instantly?
  • Monitor rides or deliveries live?

They use something called Apache Kafka.

And no, it’s not complicated — at least not when explained simply 😄


🌟 What Is Kafka?

Imagine you run a pizza delivery app.

  • When someone places an order — it needs to go to the kitchen.
  • The kitchen needs to tell the delivery guy.
  • The delivery guy needs to update the app when the order is on the way.

All these steps need to talk to each other — and quickly.

That’s what Kafka helps with. It’s like a super-fast messenger that lets different parts of your system send and receive messages.

In short: > Kafka = A real-time message delivery system for apps.


📦 How Does Kafka Work?

Let’s use a very simple idea:

  • Producer = Someone who sends a message (like a new order).
  • Consumer = Someone who receives and processes the message (like the kitchen).
  • Topic = The channel they send messages through (like “pizza-orders”).

It’s just like a WhatsApp group:

  • Anyone can send a message (Producer)
  • Everyone subscribed gets it (Consumers)
  • The group name is the Topic

🛠️ Basic Kafka Example (with Code)

Let’s try a simple example using Node.js and the kafkajs library.

1. Install Kafka and kafkajs:

npm install kafkajs

You’ll also need Kafka running locally. The easiest way is Docker (ask me if you need that setup).


2. Producer Code – Sending a message

// producer.js
const { Kafka } = require("kafkajs");

const kafka = new Kafka({ clientId: "pizza-app", brokers: ["localhost:9092"] });
const producer = kafka.producer();

async function runProducer() {
  await producer.connect();
  await producer.send({
    topic: "pizza-orders",
    messages: [{ value: "Order #42 - Pepperoni Pizza" }],
  });
  console.log("🍕 Order sent!");
  await producer.disconnect();
}

runProducer();

3. Consumer Code – Receiving the message

// consumer.js
const { Kafka } = require("kafkajs");

const kafka = new Kafka({ clientId: "kitchen", brokers: ["localhost:9092"] });
const consumer = kafka.consumer({ groupId: "kitchen-group" });

async function runConsumer() {
  await consumer.connect();
  await consumer.subscribe({ topic: "pizza-orders", fromBeginning: true });

  await consumer.run({
    eachMessage: async ({ message }) => {
      console.log(`👨‍🍳 New order received: ${message.value.toString()}`);
    },
  });
}

runConsumer();

📈 Real-Life Use Cases

Kafka is used by tons of companies for:

  • Live order tracking (like Zomato or Swiggy)
  • Real-time analytics (how many users clicked a button)
  • Payment processing
  • Fraud detection (see if something looks fishy)
  • Event logging (what happened, when, and where)

💡 Why Use Kafka?

NeedWhy Kafka Helps
I want to move data fastKafka is super quick
I want to connect multiple appsKafka acts like a bridge
I want to store and process messages laterKafka stores messages for days
I want to stream data in real timeThat’s exactly what Kafka does

🤝 Kafka in Simple Words

TermThink of it as...
ProducerThe sender (e.g., order system)
ConsumerThe receiver (e.g., kitchen)
TopicThe group/chat/channel
BrokerThe Kafka server
MessageThe data (e.g., order info)

🚀 Final Thoughts

Kafka may sound like a big, scary thing — but at its core, it’s just a fast and reliable way to send data between parts of your app.

  • Want to track clicks? Use Kafka.
  • Want to send order updates? Use Kafka.
  • Want to build a real-time dashboard? Yep — Kafka works there too.

Once you understand the basics, you can do amazing things with it.