Блог Слёрм

Kafka ≠ БД: лютый антипаттерн

Kafka — это брокер сообщений, а не база данных. В Kafka данные не хранятся вечно!

Не верите? Читайте кейс спикера о том, что случилось, когда администратор не ограничил максимальный размер данных.

  • Что произошло: в системе не было настроено ограничение на объём хранимых данных. В Kafka данные записываются последовательно (в виде лога), и здесь нельзя просто выполнить запрос (например, SELECT) для выбора конкретных данных. В итоге место на диске закончилось и брокер упал.
  • Последствия: чистили вручную. Пока нашли, в чём причина, пока руками зашли… Всё люто тормозило при этом, ведь этот же диск использовался для системы. Опять же, простаивал не один конкретный сервис, который много данных записал, а все, кто работал с этим брокером — сотни, а может быть и тысячи.
  • Итог: аварийная ситуация с простоями сервисов заняла значительно больше времени, чем позволено в рамках SL.
  • Решение: мы настроили ограничения на размер данных для каждого топика и внедрили мониторинг.

Использовали Kafka как БД?

После курса «Apache Kafka для разработчиков» вы перестанете рассматривать Kafka как замену базы данных и научитесьнастраивать Kafka так, чтобы она не падала даже при больших нагрузках,
оптимизировать для работы с миллионами сообщений в секунду и экономить время на поиске решений в интернете. У вас уже будет готовый кластер из 3 нод развёрнутый и локальный на Windows или Mac.

Программа и подробности тут.
Apache Kafka