Выбор ответа Middle Kafka обновлено

Log compaction

Вопрос

Для чего подходит топик с log compaction?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Хранить последнее состояние каждого ключа, например профиль, без роста топика. Компакция оставляет как минимум последнее значение для каждого ключа, старые версии удаляются в фоне, а сообщение с ключом и пустым значением (tombstone) удаляет ключ.

Варианты ответа

  1. Сжимать сегменты лога алгоритмом gzip, чтобы хранить больше данных
  2. Удалять сообщения сразу после того, как их прочитали и закоммитили все группы консьюмеров
  3. Объединять маленькие сообщения одного ключа в большие пачки для консьюмеров
  4. Хранить последнее состояние каждого ключа, например профиль, без роста топикаправильный ответ

Разбор

Компакция оставляет как минимум последнее значение для каждого ключа, старые версии удаляются в фоне, а сообщение с ключом и пустым значением (tombstone) удаляет ключ. Это делает топик таблицей текущих состояний. Сжатие сообщений настраивается отдельно (compression.type). Kafka не удаляет сообщения по факту прочтения. Объединение сообщений в пачки это батчинг продюсера.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.