Продвинутый
Как работает Идемпотентный Продюсер (Idempotent Producer) в Kafka?
При сетевых сбоях Producer может отправить одно и то же сообщение дважды (возникает дубликат).
Чтобы этого избежать, включают настройку enable.idempotence=true.
Как это работает:
1. Каждому Producer'у при старте выдается уникальный Producer ID (PID).
2. Каждому сообщению присваивается Sequence Number (порядковый номер: 0, 1, 2...).
3. Брокер запоминает последний номер для каждого PID.
4. Если брокер получает сообщение с номером, который уже был (или меньше ожидаемого), он понимает, что это дубль, и отбрасывает его, но отвечает Producer'у "ОК".
✅ Итог: Гарантия Exactly-Once при записи в одну партицию.