У меня есть вопрос о политиках очистки Kafka Topic и их взаимодействии с log.retention....
Например, если я установил для cleanup.policy значение compact, уплотнение начнется только после истечения времени хранения темы или время хранения не повлияет на уплотнение?
Вторая часть вопроса, если я использую компактный, удаляю вместе, и у меня есть log.retention, скажем, 1 день, тема все время сжимается, но содержимое темы будет удалено через один день? или уплотнение и удаление реализовано через сутки?
Спасибо за ответы...
Сегменты журнала можно удалять или сжимать, или и то, и другое, чтобы управлять их размером. Конфигурация на уровне темы cleanup.policy
определяет способ управления сегментами журнала для темы.
Очистка журнала путем сжатия
Если для конфигурации на уровне темы cleanup.policy
установлено значение compact
, журнал для темы периодически сжимается в фоновом режиме очистителем журнала.
В сжатой теме журнал должен содержать только самое последнее сообщение для каждого ключа, в то время как более ранние сообщения могут быть отброшены.
Нет необходимости устанавливать для log.retention значение -1 или любое другое значение. Ваши темы будут сжаты, а старые сообщения никогда не будут удалены (согласно правилам сжатия).
Обратите внимание, что сжимать можно только неактивный сегмент файла; активный сегмент никогда не будет сжат.
Очистка журнала с использованием обоих
Вы можете одновременно указать значения delete
и compact
для конфигурации cleanup.policy
. В этом случае журнал сжимается, но процесс очистки также следует настройкам retention time
или size limit
.
Я предлагаю вам пройти по следующим ссылкам
https://ibm.github.io/event-streams/installing/capacity-planning/