#apache-kafka #aws-msk
#апач-кафка #aws-msk
Вопрос:
В нашем дизайне темы Кафки создаются на лету и используются в течение короткого периода времени. В то время как создаются и используются новые темы, ранее созданные темы могут выйти из употребления. Существует необходимость периодически удалять неиспользуемые темы. Скажем для простоты, мы хотели бы удалить все темы, которые не использовались (и пусты) в течение последних 2 дней.
Существует ли установленное решение для этого случая? Есть какие-нибудь указания о том, как этого добиться?
(Мы будем использовать AWS MSK (версия 2.8 Кафки))
Комментарии:
1. Я думаю, вам следует реализовать приложение для автоматического удаления неиспользуемых тем. С помощью API администратора kafka и показателей kafka вы можете находить неиспользуемые темы.
2. Я не знаю готового к использованию решения, но одна из идей может заключаться в том, чтобы периодически проверять смещения потребителей по каждой теме и решать, используется ли тема или нет, на основе изменений смещения потребителей в указанный порог времени?
3. » темы создаются на лету и используются в течение короткого периода времени » — можете ли вы расширить свой вариант использования/требования? Это не похоже на распространенный шаблон дизайна.
4. Что подтвердит, что темы больше никогда не будут использоваться? Удаление «неиспользуемых» тем ничем не отличается от удаления любых других
5. @RobinMoffatt : Потребители, когда будут готовы, создадут темы UUID и начнут их слушать. Они могут уйти без предупреждения, и это нормально для сообщений, оставленных в очереди на тайм-аут. Это создает необходимость в периодической очистке тем на сервере.