Streaming Systems

Apache Kafka

Distributed event streaming platform for high-throughput, fault-tolerant data pipelines.

Best T-Factor

Time

T2

Weakest T-Factor

Traceability

T4

Architectural Position

Ingestion and transport layer.

Objective Description

Apache Kafka is a distributed event streaming platform designed for high-throughput, durable, and fault-tolerant publish-subscribe messaging. It stores streams of records in topics, partitioned and replicated across a cluster. Kafka enables decoupled, asynchronous communication between producers and consumers, and serves as the backbone for real-time data pipelines and event-driven architectures.

Architectural Position

Ingestion and transport layer. Positioned between event producers (applications, databases via CDC, IoT devices) and consumers (stream processors, data warehouses, search indexes). Acts as the central nervous system of event-driven architectures.

Use Case Fit

When to Use

  • Real-time event streaming requiring high throughput and durability
  • Decoupling microservices through asynchronous event-driven communication
  • Change Data Capture (CDC) pipelines from operational databases
  • Event sourcing architectures requiring durable, replayable event logs

When NOT to Use

  • Batch processing workloads — Kafka adds unnecessary complexity without streaming requirements
  • Simple point-to-point messaging where a message queue (RabbitMQ, SQS) suffices
  • Teams without distributed systems expertise to operate and tune the cluster
  • Low-volume workloads where operational overhead exceeds the value of streaming

Anti-Patterns

Common misuse scenarios and overengineering risks.

AP-01

Using Kafka as a database — it is a transport layer, not a storage system

AP-02

Treating Kafka as a solution to data quality problems — it transports events, not validates them

AP-03

Creating excessive topic proliferation without a topic naming and governance strategy

AP-04

Ignoring consumer group lag monitoring, leading to undetected processing failures