Kafka Simulator · 135 scenarios in 16 modules
Kafka scenarios: 135 interactive simulations
Every scenario is a recorded run of the simulator's Apache Kafka 4.3 engine. Each page walks through it step by step and opens the playground at any step. To build your own cluster instead, start in free play.
Kafka errors and symptoms, with the scenario that reproduces each
Kafka configs explained, each with the scenario that shows it
135 scenarios
Anatomy 8 scenarios
- Kafka topics, partitions and offsets explained · Beginner · 2 min
- Kafka write path: one record from producer to consumer · Beginner · 1 min
- Kafka message keys: how a key picks the partition · Beginner · 2 min
- Kafka offsets are per partition, not global · Beginner · 2 min
- Kafka replication factor, leader and follower replicas · Beginner · 2 min
- Kafka high watermark vs log end offset (LEO) · Intermediate · 2 min
- Why Kafka consumers cannot read past the high watermark · Intermediate · 2 min
- Kafka log start offset: why the earliest offset is not 0 · Intermediate · 2 min
Producers & EOS 12 scenarios
- Kafka producer acks=0: fire and forget, silent data loss · Intermediate · 2 min
- Kafka producer acks=1: acknowledged by the leader only · Intermediate · 2 min
- Kafka acks=0 vs acks=1 vs acks=all on a degraded ISR · Intermediate · 2 min
- Kafka acks=1 data loss: min.insync.replicas does not help · Intermediate · 3 min
- Kafka linger.ms vs batch.size: when the producer sends · Intermediate · 3 min
- Kafka producer partitioners: keyed, round-robin and sticky · Intermediate · 3 min
- Kafka compression.type: fewer, larger producer batches · Intermediate · 3 min
- Kafka buffer.memory and max.block.ms: producer backpressure · Intermediate · 3 min
- Kafka idempotent producer: retrying NOT_ENOUGH_REPLICAS · Intermediate · 2 min
- Kafka enable.idempotence=false: a retry writes a duplicate · Intermediate · 2 min
- Kafka idempotent producer dedup vs a plain producer · Intermediate · 3 min
- Kafka max.in.flight.requests.per.connection and ordering · Intermediate · 3 min
Consumer groups 13 scenarios
- Kafka consumer poll loop: subscribe, poll, fetch · Intermediate · 2 min
- Kafka auto.offset.reset: earliest vs latest vs none · Intermediate · 3 min
- Kafka committed offsets: enable.auto.commit and restart · Intermediate · 3 min
- Replay a Kafka topic: consumed records stay in the log · Intermediate · 3 min
- Kafka consumer group: how partitions split across members · Intermediate · 2 min
- Kafka consumer group rebalance when a consumer joins · Intermediate · 3 min
- Kafka partition assignors: range vs round-robin vs sticky · Advanced · 3 min
- Kafka eager vs cooperative rebalancing (cooperative-sticky) · Advanced · 4 min
- Kafka consumer crash and session.timeout.ms · Intermediate · 3 min
- Kafka max.poll.interval.ms: evicting a stuck consumer · Intermediate · 3 min
- Kafka static membership: group.instance.id avoids rebalances · Intermediate · 4 min
- Kafka consumer lag: why it grows and how it drains · Intermediate · 3 min
- Evicted Kafka consumer: how a survivor takes its partition · Intermediate · 3 min
Replication 12 scenarios
- Kafka ISR (in-sync replicas): how replicas leave and rejoin · Intermediate · 2 min
- min.insync.replicas with acks=all: when Kafka refuses writes · Beginner · 1 min
- Kafka slow follower: replica.lag.time.max.ms and the ISR · Intermediate · 2 min
- Kafka high watermark pinned by a slow in-sync replica · Intermediate · 3 min
- Losing two Kafka brokers with min.insync.replicas=2 · Intermediate · 2 min
- Kafka preferred leader election after a rack failure · Advanced · 3 min
- Kafka unclean.leader.election.enable: offline or data loss · Advanced · 3 min
- Kafka unclean leader election: permanent loss of acked data · Advanced · 4 min
- Kafka log truncation when an old leader returns · Advanced · 4 min
- Kafka broker.rack: rack-aware replica placement · Advanced · 3 min
- Kafka rack-aware reassignment after adding a rack · Advanced · 3 min
- Increase the replication factor of an existing Kafka topic · Intermediate · 2 min
Transactions 10 scenarios
- Kafka at-most-once vs at-least-once vs exactly-once · Intermediate · 3 min
- At-least-once delivery in Kafka: where duplicates come from · Intermediate · 3 min
- Kafka transaction commit vs abort with read_committed · Advanced · 3 min
- Kafka isolation.level: read_committed vs read_uncommitted · Advanced · 3 min
- Kafka last stable offset (LSO) with concurrent transactions · Advanced · 3 min
- Kafka transaction.timeout.ms: the coordinator aborts · Advanced · 3 min
- Kafka read_committed during a leader election · Advanced · 3 min
- Kafka consume-process-produce loop with exactly-once · Advanced · 3 min
- Kafka zombie producer fencing with transactional.id · Advanced · 3 min
- Kafka processing.guarantee=exactly_once_v2 end to end · Advanced · 4 min
Storage 12 scenarios
- Kafka retention.ms and a consumer that falls behind · Intermediate · 3 min
- Kafka retention.bytes: size-based log retention · Intermediate · 2 min
- Kafka OFFSET_OUT_OF_RANGE with auto.offset.reset=none · Intermediate · 2 min
- Kafka log compaction: cleanup.policy=compact explained · Intermediate · 2 min
- Kafka tombstones: deleting a key with delete.retention.ms · Intermediate · 3 min
- Kafka cleanup.policy=compact,delete: both policies at once · Intermediate · 3 min
- Kafka tiered storage: offloading old segments to remote · Advanced · 2 min
- Kafka tiered storage: a consumer reads from the remote tier · Advanced · 3 min
- Kafka local.retention.ms vs retention.ms in tiered storage · Advanced · 4 min
- Diskless Kafka topics (KIP-1163): the write path · Advanced · 3 min
- Diskless vs classic Kafka: cross-AZ replication traffic · Advanced · 3 min
- Diskless Kafka produce latency: the price of object storage · Advanced · 3 min
KRaft 4 scenarios
- What the Kafka controller does when a broker dies · Intermediate · 3 min
- Kafka KRaft quorum: losing a majority of controllers · Intermediate · 4 min
- Kafka KRaft controller failover and metadata log catch-up · Advanced · 4 min
- Kafka ZooKeeper vs KRaft: what freezes leader elections · Advanced · 4 min
Operations 6 scenarios
- Add a Kafka broker and reassign partitions onto it · Intermediate · 3 min
- Remove a Kafka broker safely: drain it first · Intermediate · 3 min
- kafka-reassign-partitions: change a replica set by hand · Intermediate · 2 min
- Kafka replication throttle during partition reassignment · Intermediate · 3 min
- Change Kafka min.insync.replicas at runtime, no restart · Intermediate · 2 min
- producer_byte_rate: how a Kafka client quota throttles · Intermediate · 3 min
Chaos 6 scenarios
- Kafka broker failure: how the partition leader fails over · Intermediate · 3 min
- Kafka split-brain: what a network partition does to leaders · Intermediate · 3 min
- Kafka network partition: the majority side keeps writing · Intermediate · 3 min
- Kafka NOT_ENOUGH_REPLICAS: brokers failing one by one · Intermediate · 4 min
- Kafka ISR re-expansion: how a restarted broker catches up · Intermediate · 3 min
- Kafka rack failure: why RF=4 on two racks refuses writes · Intermediate · 3 min
Disaster recovery 22 scenarios
- Kafka stretched cluster across two data centers · Advanced · 3 min
- 2.5-DC Kafka stretched cluster with a witness site · Advanced · 3 min
- 3-DC Kafka cluster: the KRaft quorum survives losing a site · Advanced · 3 min
- Kafka in two DCs without a witness: KRaft quorum is lost · Advanced · 3 min
- Kafka data center failure: leader failover to the other DC · Advanced · 3 min
- Kafka network split inside one DC: ISR drops to the floor · Advanced · 3 min
- Kafka MirrorMaker 2 active-passive DR and replication lag · Advanced · 3 min
- Kafka DR failover with MirrorMaker 2: measuring RPO · Advanced · 4 min
- Active-active Kafka with MirrorMaker 2 and region topics · Advanced · 3 min
- MirrorMaker 2 offset translation for Kafka consumer failover · Advanced · 4 min
- Kafka failback after a MirrorMaker 2 DR failover · Advanced · 4 min
- Active-active Kafka DR drill: move clients to the survivor · Advanced · 5 min
- Confluent MRC observers: Kafka replicas outside the ISR · Advanced · 3 min
- Kafka observer lag in Confluent Multi-Region Clusters · Advanced · 3 min
- Kafka observer promotion in Confluent Multi-Region Clusters · Advanced · 4 min
- Confluent MRC observer promotion: losing the Kafka leader DC · Advanced · 5 min
- Kafka replica placement: durability vs latency across DCs · Advanced · 4 min
- Confluent Cluster Linking: offset-preserving Kafka mirroring · Advanced · 4 min
- Kafka mirror topics (Confluent): read-only until promoted · Advanced · 4 min
- Cluster Linking vs MirrorMaker 2 for Kafka replication · Advanced · 4 min
- Kafka consumer offset sync: Cluster Linking vs MirrorMaker 2 · Advanced · 4 min
- Kafka failover and failback with Confluent Cluster Linking · Advanced · 5 min
Tiered storage 2 scenarios
- Kafka tiered storage lifecycle: offload, read back, expire · Advanced · 4 min
- Kafka tiered storage with infinite retention (Redpanda) · Advanced · 4 min
Schema registry 3 scenarios
- Confluent Schema Registry subjects and versions for Kafka · Intermediate · 3 min
- Kafka schema compatibility: BACKWARD vs FORWARD vs FULL · Advanced · 4 min
- Kafka breaking schema change rejected by Schema Registry · Advanced · 3 min
Authorization (ACLs & RBAC) 2 scenarios
- TopicAuthorizationException: authorizing a Kafka producer · Intermediate · 3 min
- Confluent RBAC role bindings for Kafka topics · Intermediate · 3 min
Capstones 5 scenarios
- Kafka exactly-once pipeline that survives a region failover · Advanced · 5 min
- Zero data loss through a Kafka DC outage with Confluent MRC · Advanced · 4 min
- Zero-downtime Kafka migration with Confluent Cluster Linking · Advanced · 4 min
- Multi-region active-active Kafka event backbone · Advanced · 4 min
- Tune Kafka throughput: linger.ms, batch.size and zstd · Advanced · 4 min
Terminal ops 9 scenarios
- Kafka from the terminal: hosts, ssh and the KRaft controller · Intermediate · 3 min
- Diagnose consumer lag with kafka-consumer-groups --describe · Intermediate · 3 min
- Kafka log segments on disk: leader vs follower · Intermediate · 3 min
- Under-replicated vs under-min-ISR partitions in Kafka · Intermediate · 3 min
- Reset Kafka consumer group offsets with --to-earliest · Intermediate · 3 min
- Set retention.ms on a live topic with kafka-configs · Intermediate · 3 min
- Kafka partition reassignment: execute, throttle, verify · Intermediate · 4 min
- Graceful broker shutdown with kafka-server-stop · Intermediate · 3 min
- Kafka tools on two clusters: --bootstrap-server decides · Advanced · 4 min
No scenario matches. Try a config name, such as min.insync.replicas.