KafkaJS - Найдите наиболее эффективный способ смещения
(Полный новичок, когда дело доходит до кафки и кафкаев, так что извините, если это глупый вопрос)
У меня проблема, когда у нас есть тема, в которой хранятся 48 часов данных (миллионы записей); И мне интересно, как лучше всего получить из этой темы последние "20 минут" данных, а затем также передать новые сообщения.
Каждое сообщение в этом разделе является JSON и имеет метку времени в миллисекундах UNIX с начала эпохи (UTC).
Производительность здесь явно проблема
1 ответ
В Java-клиенте есть средство поиска смещений по метке времени. Для этого в KafkaJS есть пиар, хотя он вроде не проверяется и не объединяется.
я полагаю node-rdkafka
есть это. Пример ниже (ссылка)
consumer.offsetsForTimes(
[ {topic: 'hi', partition: 0, offset: Date.now() - (20*60*1000) } ],
timeout,
console.log
);
Когда вы получите смещения, вы можете найти их и начать читать.