Я использую apache kafka для производства и использования файла размером 5 ГБ. Я хочу знать, есть ли способ, когда сообщение из темы автоматически удаляется после его потребления. Имею ли я способ отслеживать потребляемые сообщения? Я не хочу удалять его вручную.Удалить сообщение после его использования в KAFKA
ответ
В Kafka ответственность за то, что потребляется, лежит на потребителе, и это также является одной из основных причин, почему Kafka обладает такой большой горизонтальной масштабируемостью.
Использование пользовательского API высокого уровня автоматически сделает это за вас, совершив потраченные смещения в Zookeeper (или более поздняя настройка конфигурации использует специальная тема Kafka для отслеживания потребляемых сообщений).
Простой пользовательский API позволяет вам справляться с тем, как и где отслеживать потребляемые сообщения самостоятельно.
Очистка сообщений в Kafka выполняется автоматически, указывая время хранения для темы или определяя квоту диска для нее, поэтому для вашего случая с одним файлом объемом 5 ГБ этот файл будет удален после указанного вами периода хранения , независимо от того, был ли он использован или нет.
В соответствии с моими знаниями вы можете Удалить Извлеченные данные образуют журналы, уменьшая время хранения. Время по умолчанию для журнала установлено для 168 часов, а затем данные автоматически удаляются с Kafka-Topic, которые вы создали. Итак, мое предложение состоит в том, чтобы уменьшить переход на server.properties
, который находится в папке конфигурации, и сменить на минимальное время. поэтому их нет данных после определенного количества времени, которое вы установили для log.retention.hours. Так что ваша проблема будет решена.
log.retention.hours = 168
Держите кодирование