Нужна информация о сохранении времени Кафки на уровне темы - PullRequest
0 голосов
/ 11 февраля 2019

поиск подробностей при обновлении retention.ms и ниже - сценарий

  1. созданная тема t1 с retention.ms 6 часов
  2. создает 10 сообщений
  3. Через 2 часа измененное значение retention.ms на 24 часа.
  4. создает 10 сообщений

Вопрос: применяется ли это изменение к более ранним сообщениям (10 сообщений, полученных за 2 часа ранее, шаг-2))?ИЛИ это применимо только к вновь создаваемым сообщениям (сообщения шага 4)?

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Вы можете изменить срок хранения для уже существующей темы, и он будет применяться ко всем сообщениям, которые хранятся в Kafka (для старых и новых).Вы можете как уменьшить, так и увеличить retention.ms свойство.

Частота, при которой журналы проверяются, проверяются ли журналы на удаление, описываются свойством log.retention.check.interval.ms (это свойство брокера).Если ваш retention.ms намного ниже, чем log.retention.check.interval.ms, вы можете увидеть некоторые лаги.

Также существует другой случай, когда журналы могут быть удалены позже, чем retention.ms.Кафка хранит сообщения в сегментах.Очистка применяется ко всему сегменту, а не к конкретному сообщению.Если сегменты big (log.segment.bytes, segment.bytes) и сообщения добавляются достаточно часто, чтобы не превышать retention.ms последнего добавленного сообщения, сообщения могут храниться в несколько раз дольше, чем retention.msпредлагает.

Значение по умолчанию для segment.bytes равно 1073741824, поэтому в зависимости от размера сообщения вам необходимо создать от нескольких тысяч до миллионов сообщений, чтобы закрыть сегмент журнала, в результате чего записи могут быть удалены.

0 голосов
/ 11 февраля 2019

Сохранение применяется на уровне темы.До тех пор, пока вы увеличиваете срок хранения темы до того, как сообщения будут удалены (т. Е. Прошло старое хранение), сохранение будет также применяться к ним.поэтому в вашем примере ответ ДА, первые 10 сообщений (шаг 2) будут сохраняться еще 22 часа (24 часа - 2 часа), а последние 10 сообщений (шаг 4) будут сохраняться еще 24 часа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...