Как удалить неиспользуемые темы?

#apache-kafka #aws-msk

#апач-кафка #aws-msk

Вопрос:

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

Существует ли установленное решение для этого случая? Есть какие-нибудь указания о том, как этого добиться?

(Мы будем использовать AWS MSK (версия 2.8 Кафки))

Комментарии:

1. Я думаю, вам следует реализовать приложение для автоматического удаления неиспользуемых тем. С помощью API администратора kafka и показателей kafka вы можете находить неиспользуемые темы.

2. Я не знаю готового к использованию решения, но одна из идей может заключаться в том, чтобы периодически проверять смещения потребителей по каждой теме и решать, используется ли тема или нет, на основе изменений смещения потребителей в указанный порог времени?

3. » темы создаются на лету и используются в течение короткого периода времени » — можете ли вы расширить свой вариант использования/требования? Это не похоже на распространенный шаблон дизайна.

4. Что подтвердит, что темы больше никогда не будут использоваться? Удаление «неиспользуемых» тем ничем не отличается от удаления любых других

5. @RobinMoffatt : Потребители, когда будут готовы, создадут темы UUID и начнут их слушать. Они могут уйти без предупреждения, и это нормально для сообщений, оставленных в очереди на тайм-аут. Это создает необходимость в периодической очистке тем на сервере.