Что такое Kafka?
Если данные — это все, то потоковая их передача в реальном времени — это все, везде и сразу. Сегодня с медленными приложениями не церемонятся: если видео долго загружается, пользователь просто переключится на другую потоковую платформу. Если нельзя загрузить картинки с вариантами блюд меню, он найдет другой сервис заказа ужина. Судьба приложения решается за секунды.
Положение спасают распределенные системы на основе событий. Для работы с микросервисами традиционная запросно-ответная парадигма с протоколом REST/HTTP просто не подходит. Каждое подключение приходится открывать, отправлять запрос, получать ответ, закрывать: действий много, а времени мало.
Для микросервисов намного лучше модель подписки. Издатели отправляют сообщения брокерам/серверам, а подписчики у тех же брокеров потребляют — и никакого лишнего ожидания:
![](https://nuancesprog.ru/wp-content/uploads/2023/06/0-9sXerqCE02ojzEsu.png)
Kafka — ведущая технология потоковой передачи событий. Ей доверяют данные в более чем 80% всех компаний из Fortune 100: она быстрая, отказоустойчивая и масштабируемая.
Но Kafka небеспроблемна. Это очень сложная система, применять ее нелегко. Когда в кластере что-то идет не так, выявить проблему бывает особенно трудно.
Поэтому важна уверенность в нем. Хотя отличных инструментов для мониторинга кластеров Kafka много, мы создали на крупной облачной платформе Confluent Cloud специализированное приложение для решения таких проблем.
Представляем KafkaCompass
С KafkaCompass пользователи могут:
- понять траекторию кластеров во времени;
- контролировать их содержимое;
- анализировать их метрики.
Функционал
Для доступа к кластеру и просмотра метрик производительности в KafkaCompass ключи к Confluent Cloud и кластеру шифруются. Когда текущие данные получены, в приложении эти данные надежно сохраняются для последующего доступа к журналу производительности кластера.
Имея подробные снимки состояний кластера в динамике, легко визуализировать влияние на него внутренних и внешних изменений. Так у разработчиков Kafka появляется больше возможностей для экспериментов и оптимизации кластеров.
А пользователи могут просматривать и обновлять данные о кластере в дашборде, в режиме статистики производительности Performance Statistics. Вместе с удобными визуализациями эти диаграммы очень полезны для мониторинга работоспособности кластера:
![](https://nuancesprog.ru/wp-content/uploads/2023/06/2-1.gif)
В режиме мониторинга содержимого Content Monitoring просматриваются сообщения, находящиеся в данный момент в их разделах. На этой же странице в кластер вносятся изменения: добавляются или удаляются темы, пишутся новые сообщения:
![](https://nuancesprog.ru/wp-content/uploads/2023/06/0-DeA1mhOoDrQo4-hJ.png)
KafkaCompass находится на стадии альфа-тестирования: планируется довести до идеала пользовательское взаимодействие и добавить функционал для анализа кластеров.
Это продукт с открытым исходным кодом, и помощь участников сообщества в доработке приложения приветствуется.
Читайте также:
- Подключение Kafka в Spring Boot
- ClickHouse: оконные функции с нуля
- Сравниваем эффективность Redis, Kafka и RabbitMQ
Читайте нас в Telegram, VK и Дзен
Перевод статьи Daria Mordvinov: Don’t get lost while working with your Kafka clusters — grab a compass!