Kafka у многих считается «просто очередной очередью». На практике именно на consumer’ах чаще всего и ловят тихие поломки — **повторную обработку сообщений**.
Я у себя видел один и тот же сценарий: сообщение уже успели обработать, но consumer упал до коммита offset’а. Итог — Kafka честно отдает его снова. Снаружи это выглядит как «дубль», а внутри быстро превращается в лишние списания, повторные письма, повторные статусы.
Что важно держать в голове:
1. **At-least-once** — это не гарантия «ровно один раз».
2. Коммит offset’а и запись результата обработки — это два разных действия.
3. Любой ретрай без идемпотентности = риск повторного эффекта.
4. Логику consumer’а надо проектировать так, будто дубль неизбежен.
5. Проверять нужно не только happy path, но и падение между шагами.
В таких системах ошибка не шумит. Она тихо размножает действия. И это уже не баг Kafka — это архитектурная слепая зона.
—
Соседний канал в сети: @affcareers_moscow
Яндекс Сигнал
@YandexSignalPro
Kafka у многих считается «просто очередной очередью». На практике именно на consumer’ах чаще всего и ловят тих
Этот пост опубликован в Telegram-канале Яндекс Сигнал. Подписаться можно по ссылке: @YandexSignalPro.