Learn Labs
1. Meet Kafka

1.4 Why Kafka? (the property-by-property case)

Note the framing on platform features: these are not full platforms.

PropertyWhat it meansWhy it matters
Multiple producersSeamlessly handles many producers, many topics or the same topicMany microservices write page views to one topic in a common format; consumers get a single unified stream instead of N topics to correlate
Multiple consumersMany consumers read the same stream without interfering with each otherExplicitly contrasted with queues where once consumed, a message is gone. Consumers can also form a group to process each message once
Disk-based retentionMessages on disk with configurable, per-topic retentionConsumers need not work in real time. A slow consumer or a traffic burst → no data loss. Take a consumer offline for maintenance → producers don't back up, nothing is lost, restart resumes where it left off
Scalable1 broker (PoC) → 3 (dev) → tens/hundreds (prod). Expansions performed online with no availability impactAlso: multi-broker clusters survive individual broker failure; raise replication factor to tolerate more simultaneous failures
High performanceProducers, consumers, and brokers all scale outSubsecond latency from produce to consumer availability, under very large message streams
Platform featuresKafka Connect (source→Kafka, Kafka→sink) and Kafka Streams (scalable, fault-tolerant stream processing)Deliberately APIs and libraries, not a structured runtime like YARN — "a solid foundation to build on and flexibility as to where they can be run"

Note the framing on platform features: these are not full platforms. That's a design stance — Kafka gives you libraries you can run under whatever scheduler you already have (k8s, ECS, bare metal) instead of imposing a cluster manager.

The ecosystem framing

producersAPACHE KAFKA“circulatory system of the data ecosystem”consumersread → transform → write back injoining other sources, for others to useapps, DBs, services,frontendsanalytics, ML, search,monitoring, reports,other apps

Coupled with a message-schema system, producers and consumers need no tight coupling and no direct connections of any sort. Components can be added and removed as business cases come and go, and producers need not know who consumes the data or how many consumers exist.

Figure 1.4.1The ecosystem framing

Coupled with a message-schema system, producers and consumers need no tight coupling and no direct connections of any sort. Components can be added and removed as business cases come and go, and producers need not know who consumes the data or how many consumers exist.


On this page