Благодаря идемпотентности и транзакциям в Kafka вы можете получить гарантию точно один раз в Kafka. Но похоже, что вам нужна гарантия хотя бы один раз . Это гарантирует, что сообщение журнала никогда не будет потеряно, но может быть продублировано.
Чтобы включить эту гарантию, вам необходимо в продюсере установить acks=all
. Всякий раз, когда вы создаете что-то для kafka, данные не теряются, пока одна синхронизированная c реплика жива.
Я работал с критическими журналами раньше, а Kafka с acks=all
ставил, проблем никогда не было. Данные у производителя были потеряны еще до того, как войти в домен Кафки.
Возможно, я неправильно понял ваш вопрос, дайте мне знать, если это так.