Подтвердить что ты не робот

Удалить сообщение после его использования в KAFKA

Я использую apache kafka для создания и использования файла размером 5 ГБ. Я хочу знать, есть ли способ, когда сообщение из темы автоматически удаляется после его потребления. Имею ли я способ отслеживать потребляемые сообщения? Я не хочу удалять его вручную.

4b9b3361

Ответ 1

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

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

Простой пользовательский API позволяет вам разобраться, как и где следует отслеживать потребляемые сообщения.

Очистка сообщений в Kafka выполняется автоматически, либо указывая время хранения для темы, либо определяя квоту диска для нее, поэтому для вашего случая с одним файлом размером 5 ГБ этот файл будет удален после того, как указанный вами период хранения, независимо от того, был ли он использован или нет.

Ответ 2

В соответствии с моим Знанием вы можете Удалить потребляемые данные формировать журналы, сокращая время хранения. Время по умолчанию для журнала установлено для 168 часов, а затем данные автоматически удаляются из созданной вами Kafka-Topic. Итак, мое предложение состоит в том, чтобы уменьшить переход на server.properties, который находится в папке config, и изменить 168 на минимальное время. поэтому их нет данных после определенного количества времени, которое вы установили для log.retention.hours. Таким образом, ваша проблема будет решена.

log.retention.hours = 168

Сохранять кодирование