У вас есть нет гарантии долговечности с автоматической фиксацией
Старые клиенты Kafka действительно использовали Zookeeper для смещения хранилища, но теперь это все в брокере, чтобы минимизировать зависимости. Kafka Streams API не имеет возможности интегрировать смещенное хранилище за пределы самого Kafka, и поэтому вы должны использовать Consumer API для поиска и поиска / фиксации смещений во внешнем хранилище, однако, если вы решите это сделать, вы все равно можете получить меньше, чем оптимальная обработка сообщений.
Моя текущая ситуация - когда мой Kafka не работает и мой потребитель начинает с самого начала и принимает все предыдущие сообщения
Похоже, вы установили auto.offset.reset=earliest
и вы никогда не фиксировать никаких смещений ...
Параметр автоматической фиксации выполняет periodi c commit, а не "automati c после прочтения любого сообщения".
Если вы хотите гарантировать доставку, вам нужно установить как минимум acks=1
в производителе и фактически сделать commitSync
в потребителе