Posts for: #Kafka
Watermarks and Late-Arriving Data
Stream Processing Windows
Consumer Group Rebalancing: The Partition Shuffle
You have 3 consumers reading from 6 Kafka partitions. One consumer crashes. The remaining 2 need to pick up its partitions. That handoff isn’t as smooth as you’d hope.
Log Compaction: Keeping the Latest Without Keeping Everything
Your event log has 100 million records. Key ‘user-42’ has been updated 500 times. You only care about the latest value. But deleting old entries would break consumers who haven’t caught up yet.
Ordering Guarantees in Event-Driven Systems
Events arrive out of order. User updates overwrite each other. Here’s how partition keys, sequence numbers, and causal ordering keep things straight.
Dead Letter Queues
Your consumer retried a bad message 10,000 times. It will never succeed. Dead letter queues catch the messages that can’t be processed so the rest of your system keeps moving.
Making Consumers Idempotent
Exactly-once delivery is impossible across boundaries. Here’s the pattern that actually works: at-least-once delivery with idempotent consumers.
Exactly-Once Delivery is a Lie
Kafka says exactly-once. Your consumer processed the message twice anyway. Here’s why exactly-once is impossible across system boundaries.