Вы говорите о двух разных потребителях, Потребитель-1, который только что потребляет сообщение из темы Кафки, выполняющее некоторую обработку на основе вашей логики.
Consumer-2, который получает все сообщения в теме с самого начала и сопоставляет их с набором идентификаторов.
Второй случай будет становиться все дороже по мере добавления сообщений в тему. Это не тот случай использования, для которого создан Kafka, вы можете сделать это более эффективно в ActiveMQ.
Если вы все еще хотите использовать Kafka, другой вариант заключается в том, что вы можете сохранить небольшой хэш-набор записей в памяти, с которым вы можете создавать comaprison.