Встречается на собеседованиях • сегодня
Можно ли читать сообщение с задержкой в Kafka
Да, в Kafka можно читать сообщения с задержкой. Для этого есть несколько подходов:
- seek() + poll(): можно переместить offset на нужную позицию и начать чтение:
python
from kafka import KafkaConsumer
consumer = KafkaConsumer('topic', bootstrap_servers='localhost:9092')
consumer.seek_to_beginning() # или seek(partition, offset)
for msg in consumer:
print(msg)- auto_offset_reset='earliest': читать с самого начала топика:
python
consumer = KafkaConsumer(
'topic',
bootstrap_servers='localhost:9092',
auto_offset_reset='earliest'
)-
Тайминги: Kafka хранит сообщения определенное время (по умолчанию 7 дней), поэтому можно читать "старые" сообщения, пока они не удалились.
-
Таймстампы: с версии 0.10.1 можно искать сообщения по timestamp:
python
offsets = consumer.offsets_for_times({
partition: timestamp_ms
for partition in consumer.partitions_for_topic('topic')
})
for partition, offset in offsets.items():
consumer.seek(partition, offset)Важно: задержка чтения ограничена retention policy брокера.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы