What happens when a Kafka consumer can't process a message, and how it avoids getting stuck forever.
Most messages arrive, get processed right away, and the consumer moves on. No drama.
A bug, a bad value, a missing record: whatever the cause, the consumer can't finish the job. It does not just give up on the first try.
Each retry waits longer than the last (this is called backoff). Maybe the problem was temporary and just needed time to clear.
The troublesome message gets copied to a separate DLQ topic, parked for someone to look at later. The consumer is now free to keep going.
message → processed → done → next message
message → fails → retry, retry → still fails → DLQ topic → next message