Кафка: Как удалить данные, которые уже были потреблены потребителем?

Я установил server.properties '

log.retention.minutes = 8

очищать данные под кафка-журналами / каждые 8 ​​минут автоматически,

Возможно ли, чтобы уборщик очищал только те данные, которые были потреблены, а данные, которые не потреблялись потребителем, сохранятся?

Спасибо !


person kylin    schedule 28.04.2017    source источник


Ответы (1)


Нет. Сообщения Kafka добавляются в файлы журнала, которые обновляются каждые x часов или по достижении определенного размера (в зависимости от конфигурации). После пролонгации эти файлы становятся неизменяемыми (вы не можете удалять отдельные записи). Файлы журналов очищаются, когда последний доступ на запись к файлу превышает время хранения.

Другими словами: время хранения - это время, в течение которого сообщение сохраняется по крайней мере. Сообщение со временем хранения в минутах может длиться несколько недель (в зависимости от других параметров конфигурации).

Концепция «потребительских компенсаций» - это механизм, который Kafka использует, чтобы избежать повторного потребления сообщений. Kafka 0.11 также будет содержать возможности только один раз.

person ftr    schedule 28.04.2017