Для вашего наблюдения # 2, если вы перезапустите приложение, оно предоставит вам все записи со смещения без фиксации, т. Е. Отсутствующей записи, и если ваш потребитель снова не подтвердит фиксацию, оно будет отправлено снова, когда приложение зарегистрирует потребителя. с Кафкой при перезагрузке. Ожидается.
Предполагается, что вы используете consumer.poll()
, который создает интерфейс гибридной потоковой передачи, то есть, если он накапливает данные, поступающие в Kafka для упомянутого duration
, и предоставляет их потребителю для обработки после завершения продолжительности. Это непрерывное накопление происходит в бэкэнде и не зависит от того, зафиксировали ли вы смещение или нет.
KafkaConsumer
Позиция потребителя дает смещение следующей записи, которая
будет выдан. Это будет больше, чем максимальное смещение
потребитель видел в этом разделе. Это автоматически продвигает каждый
время, когда потребитель получает сообщения при вызове на опрос (long).