Сегменты журнала могут быть удалены или сжаты, или оба, чтобы управлять их размером.Конфигурация на уровне темы 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/
https://kafka.apache.org/documentation/#compaction
https://cwiki.apache.org/confluence/display/KAFKA/KIP-71%3A+Enable+log+compaction+and+deletion+to+co-exist