PrepZone Logo
PrepZone

What Apache Kafka Is (and Is Not)

A distributed commit log for high-throughput event streaming — not a task queue, not a database.

Why this matters

  • VaultCommerce runs 40+ microservices on a shared event backbone — Kafka is the system of record for cross-service facts.
  • Misclassifying Kafka as a queue leads to wrong consumer design (expecting message deletion).
  • Kafka 3.7+ runs in KRaft mode by default — no ZooKeeper dependency.
  • Interviewers expect you to contrast log semantics with RabbitMQ queues.
ProducersOrder, payment services
Broker cluster3+ brokers, KRaft
Consumer groupsInventory, analytics
Topic: vaultcommerce.orders.placed.v1
Partition 0Leader on broker-1
Partition 1Leader on broker-2
Partition 2Leader on broker-3
Producers write to topic partitions on brokers. Consumers read via consumer groups.

Commit log, not queue

Records append to partition logs with monotonically increasing offsets. Consumers track their position; the log retains data per retention policy. VaultCommerce's analytics team replays vaultcommerce.orders.placed.v1 from offset 0 without affecting the inventory consumer group's progress.

Key points

  • Topic — named stream of records, split into partitions for parallelism
  • Offset — immutable position within a partition log
  • Consumer group — cooperative readers; each partition assigned to one member
  • Retention — time or size limit before segments are deleted (or compacted)
  • KRaft — built-in metadata quorum replacing ZooKeeper (Kafka 3.7+ production default)

What Kafka is not

Not a database: no ad-hoc queries, no secondary indexes (use ksqlDB or external stores). Not a job scheduler: no native delay queues (use retry topics or external scheduler). Not a replacement for Postgres — VaultCommerce still uses OLTP for authoritative order state.

VaultCommerce rollout checklist

Before promoting changes that touch the VaultCommerce order and payment event backbone, run the staging KRaft cluster (Kafka 3.7+, Schema Registry 7.x) through a 10k events/min soak test. Compare producer request latency p99 and consumer lag per group against the pre-deploy baseline. Kafka is an append-only distributed log. Document the change in the internal topic registry, attach Grafana screenshots to the change ticket, and keep an engineer on lag dashboards for 30 minutes after production rollout — roll back the service release before altering broker-level settings if lag or under-replicated partitions spike.

Java
# VaultCommerce staging — inspect the order topic layout (Kafka 3.7 KRaft)
kafka-topics.sh --bootstrap-server kafka-1:9092 \
  --describe --topic vaultcommerce.orders.placed.v1

# Topic: vaultcommerce.orders.placed.v1  PartitionCount: 12  ReplicationFactor: 3
# TopicId: xK9m2pL...  Leader epochs visible under KRaft metadata

Quick recall

Everything you need if you only revisit this box.

  1. Kafka is an append-only distributed log.
  2. Consumers track offsets; messages are not deleted on read.
  3. KRaft is the metadata layer in Kafka 3.7+.

Test yourself

Answer these before moving on — recall is what makes it stick.