Вступить в клуб →
сложнаявопросПотоковая поставка: Kafka, CDC и окна

Как получить «ровно один раз» при записи из Kafka во внешнюю базу

Консьюмер читает платежи из Kafka и пишет их в PostgreSQL. Бизнес требует, чтобы каждый платёж учитывался ровно один раз, даже при падении консьюмера между записью в базу и коммитом смещения. Коллега предлагает включить enable.idempotence и транзакции Kafka.

Что действительно решает задачу?

  • Сохранять смещение в той же транзакции базы
  • Включить идемпотентного продюсера Kafka
  • Коммитить смещение до записи в базу
  • Уменьшить auto.commit.interval.ms

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела