It's 2 a.m., and your on-call phone buzzes. A customer was charged twice for the same order. You dig into the logs - the OrderCreated event was processed, then processed again seconds later. Nothing crashed. No exception was thrown. Kafka did exactly what it promised: it delivered the message at least once. The bug isn't in Kafka. It's an assumption that your consumer would ever see each event only once. In this tutorial, we'll fix that assumption: why duplicates are normal, why the obvious...