Для вашего понимания того, как работает poll, параметр, который мы передаем poll (), является интервалом времени ожидания и определяет, как долго будет блокироваться poll (), если данные недоступны в буфере потребителя. Если установлено значение 0, poll () вернется немедленно; в противном случае он будет ожидать указанное число миллисекунд для получения данных от посредника. Так что если вы настроили опрос на 0 миллисекунд, и в буфере данных нет данных, и вы не получите никаких данных.
Если говорить о том, что вы не получили недавно созданные данные, это зависит от вашей конфигурации производителя. Если созданное сообщение не имеет своих реплик и основано на параметре acks, сообщение будет доступно потребителю для потребления.
Например: если вы установили реплики как 3 и acks = all, если все репликаторы не признают лидера, что они получили сообщение, это сообщение не будет доступно для потребителя для потребления.
Переходя к вопросу, как вы можете узнать, прочитали ли вы весь раздел, если ваш опрос больше не дает никаких записей (при условии, что все остальные работают нормально), то это означает, что вы использовали все сообщения для этой темы. .