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
);

Когда вы получите смещения, вы можете найти их и начать читать.

Другие вопросы по тегам