Всем привет. Подскажите у топика настроил протухание сообщений на 2000 миллисекунды

(retention.ms)
В данный топик постоянно происходит запись с интервалом 500 миллисекунд
Но Kafka не удаляет сообщения пока происходит запись, а запись происходит постоянно и бесконечно.
Когда Продюсера останавливаю то сообщения удаляются.
Мне не нужны старые сообщения.
Может как то в памяти правильно такой топик создавать без записи на диск?
Или обязательно останавливать Продюсера периодически?
Есть какие то варианты чтоб Продюсера не останавливать а сообщения протухали?

7 ответов

8 просмотров

Активный записываемый блок не может удалится, удаление происходит только неактивных блоков. Как мне кажется проблема в этом... А критично важно чистить прям так часто данные в Кафке?

натс или редис для пабсаба или rpc

Павел-Булатов Автор вопроса
Бронислав Житников
Активный записываемый блок не может удалится, удал...

Да, чистить критично. Но удаление происходит даже при постоянной активной записи. Когда блок заполняется, запись идет в новый блок. И старый удаляется. Все норм. Все регулируется правилами деления на блоки. Кафка норм.

Павел-Булатов Автор вопроса
Yegor
натс или редис для пабсаба или rpc

А что такое RPC? Скажите чтоб диск не использовать у Кафки. Можно настроить Если даты в Сегменте и сегмент удалился. И оперативной памяти хватило. Хочу чтобы не писался этот сегмент на диск. Или как вообще понять когда кафка на Диск пишет? Как настроить это чтобы запись на диск минимизировать для не нужных данных. Чтобы весь топик в памяти был и протухал в памяти. Или хотя бы все в памяти а на диск запись боль блоками/сегментами.

Павел Булатов
А что такое RPC? Скажите чтоб диск не использоват...

а зачем вам кафка тогда? выше предложили тот же редис для пабсаба

Павел Булатов
А что такое RPC? Скажите чтоб диск не использоват...

Это вам с параметрами log.flush.* надо эксперементировать. https://kafka.apache.org/27/documentation.html#brokerconfigs_log.flush.interval.messages Либо посмотреть в сторону любой kv хранилки живущей в оперативной памяти, как коллеги выше предлагают

Павел Булатов
Да, чистить критично. Но удаление происходит даже ...

Если вы под блоком имеете ввиду сегменты - то да, это основное, что нужно подправить. Можно выставить половину нужного времени и подтюнить\проверить как часто запускается тред удаления. Если на диск не надо сохранять - встречал в статьях, что можно как директории хранения использовать /dev/null, но лично сам не пробовал (в частности не знаю как поведет себя с файлами метаданных)

Похожие вопросы

Обсуждают сегодня

Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
с помощью чего можно бота добавить как админа в чат? (условно в боте есть кнопка, нажатие на которую приводит тебя к выбору чата и выдаче прав боту)
ηє νєямσяє
5
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Добрый день, подскажите как правильно сделать filter в backend-e. Есть модель (товар) у который связь belongsToMany (компания), компаний > 4k, поэтому выборку типа ->all(); н...
Max Dubovsky
7
А как заставить поиск искать? Есть такая формочка <select class="form-control custom-select" name="brand_id" data-handler="onGetBrands"></select>
Денис Александрович
5
А цены чем оправданы?
Lencore
7
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
напомните, как заменить placeholder , а не добавить содержимое ?
Artem N
4
Карта сайта