Выбор ответа Middle Kafka обновлено
Log compaction
Вопрос
Для чего подходит топик с log compaction?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Хранить последнее состояние каждого ключа, например профиль, без роста топика. Компакция оставляет как минимум последнее значение для каждого ключа, старые версии удаляются в фоне, а сообщение с ключом и пустым значением (tombstone) удаляет ключ.
Варианты ответа
- Сжимать сегменты лога алгоритмом gzip, чтобы хранить больше данных
- Удалять сообщения сразу после того, как их прочитали и закоммитили все группы консьюмеров
- Объединять маленькие сообщения одного ключа в большие пачки для консьюмеров
- Хранить последнее состояние каждого ключа, например профиль, без роста топикаправильный ответ
Разбор
Компакция оставляет как минимум последнее значение для каждого ключа, старые версии удаляются в фоне, а сообщение с ключом и пустым значением (tombstone) удаляет ключ. Это делает топик таблицей текущих состояний. Сжатие сообщений настраивается отдельно (compression.type). Kafka не удаляет сообщения по факту прочтения. Объединение сообщений в пачки это батчинг продюсера.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.