Как очищался большой лог событий Kafka: была ли настроена политика retention?

Kafka обычно удаляет старые сегменты по retention.ms или retention.bytes при cleanup.policy=delete. Потребление сообщений само по себе не удаляет их из лога.

Короткий ответ

Что ответить на собеседовании

Kafka обычно удаляет старые сегменты по retention.ms или retention.bytes при cleanup.policy=delete. Потребление сообщений само по себе не удаляет их из лога.

Подробный разбор

Ответ с пояснениями

Kafka обычно удаляет старые сегменты по retention.ms или retention.bytes при cleanup.policy=delete. Потребление сообщений само по себе не удаляет их из лога.

На интервью назовите реальные настройки топика, а не предполагаемые defaults. Ограничение размера относится к партиции; удаление выполняется сегментами, поэтому срок хранения не является точным таймером для каждой записи.

Compaction решает другую задачу: сохраняет актуальные значения по ключам, а не весь журнал. Согласуйте retention с допустимым отставанием consumer-ов и потребностью в повторной обработке. Следите за размером диска, lag и скоростью очистки. Уменьшение retention может необратимо удалить данные, которые ещё нужны потребителю.

Источник: Документация Apache Kafka.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее