Назначение#
Общее описание продукта#
Platform V Corax — программный брокер сообщений, представляющий собой распределенную, отказоустойчивую, реплицированную и легко масштабируемую систему передачи сообщений, рассчитанную на высокую пропускную способность. Спроектирован специально для работы с большими объемами данных. Работает по принципу «публикация — доставка». Доставка сообщений осуществляется от так называемого Производителя сообщений (Producer) его Подписчикам (Consumer). Чтобы подписчик смог прочитать сообщение, он должен предварительно подписаться на некоторый канал, в который производитель «публикует» сообщения.
Высокая пропускная способность Platform V Corax обеспечивается как со стороны источников, так и для систем подписчиков. Подписчики могут объединяться в группы, а данные могут временно храниться для последующей пакетной обработки. Все сообщения Platform V Corax хранит на диске.
Продукт Platform V Corax (KFK) состоит из одного программного компонента Corax (KFKA). В свою очередь Corax (KFKA) состоит из следующих компонентов:
Название компонента |
Ответственность компонента |
Опциональность |
|---|---|---|
Apache Kafka |
Хранение сообщений (получение/передача) |
Установка обязательна |
Apache ZooKeeper |
Синхронизация состояния между брокерами |
Установка обязательна |
Corax Schema Registry |
Контроль AVRO- и JSON-схем при записи данных в топики Corax |
Установка опциональна |
Corax UI |
Визуальная утилита для администрирования модулей Corax |
Установка опциональна |
Описание компонентов#
Apache Kafka#
Apache Kafka — это мощный инструмент для потоковой передачи данных, созданная для обработки огромного количества событий в режиме реального времени. Он позволяет быстро и надежно передавать данные между разными системами и приложениями, обеспечивая непрерывный обмен информацией в рамках инфраструктуры. Apache Kafka позволяет получать, хранить и обрабатывать данные, поступающие от множества источников, будь то логи, данные о пользователях или события из IoT-устройств.
Благодаря надежной обработке и передаче больших объемов данных, Apache Kafka дает возможность улучшить взаимодействие между сервисами, интегрировать различные приложения и быстро реагировать на изменения в бизнес-процессах.
Apache ZooKeeper#
Apache ZooKeeper — это сервис для управления конфигурациями и координации приложений, которую Apache Kafka использует для поддержания стабильности и согласованности в распределенной среде. ZooKeeper помогает Kafka управлять информацией о кластерах и координировать работу между брокерами (узлами), что важно для обеспечения надежной работы при высоких нагрузках.
С помощью ZooKeeper можно контролировать и отслеживать состояние всех компонентов, распределять задачи, синхронизировать данные и управлять настройками конфигурации, обеспечивая отказоустойчивость и балансировку нагрузки. В совокупности ZooKeeper обеспечивает обработку огромных объемов данных с высокой скоростью и надежностью, даже если отдельные узлы кластера выходят из строя.
Corax Schema Registry#
Corax Schema Registry — это сервис для хранения и управления схемами данных, который используется в продукте Platform V Corax и взаимодействует с другими его компонентами. Он позволяет централизованно определять структуру данных (схемы), которые Kafka использует для записи и чтения сообщений, обеспечивая их совместимость и согласованность.
Возможности Schema Registry:
Совместимость данных: Schema Registry поддерживает контроль версий и проверку совместимости схем, что помогает избежать ошибок при изменении структуры данных, не нарушая работу системы.
Централизованное управление: Схемы хранятся в одном месте, и различные приложения могут обращаться к ним, обеспечивая согласованность структуры данных между всеми сервисами, работающими с Kafka.
Защита от ошибок сериализации: Schema Registry помогает сериализовать и десериализовать данные, гарантируя, что данные соответствуют ожидаемой структуре, что предотвращает ошибки при передаче сообщений.
Гибкость и масштабируемость: При масштабировании Kafka кластера или добавлении новых приложений Schema Registry помогает плавно адаптировать системы к новым схемам данных, что удобно для крупных распределенных систем.
Использование Schema Registry в рамках продукта Platform V Corax позволяет надежно управлять структурой данных в режиме реального времени, минимизируя риски некорректного обмена данными и сохраняя совместимость данных между различными сервисами.
Corax UI#
Corax UI — это дополнительный компонент продукта Platform V Corax. Он представляет собой интерфейс пользователя, разработанный для удобного взаимодействия с данными и функционалом. Corax UI предоставляет визуальные инструменты, которые позволяют администраторам и разработчикам управлять потоками данных, отслеживать состояние кластеров Kafka и быстро реагировать на любые изменения или проблемы.
Основные возможности Corax UI:
Мониторинг кластера Kafka: Показывает статус брокеров, разделов и подписчиков, помогая контролировать производительность и обнаруживать узкие места в реальном времени.
Управление топиками и данными: Позволяет создавать, удалять и изменять топики, а также отслеживать сообщения и их схемы.
Анализ данных: Обеспечивает удобный доступ к данным, проходящим через Kafka, с возможностью фильтрации и визуализации, что упрощает анализ информации и выявление аномалий.
Контроль производительности: Помогает отслеживать задержки, объем данных и скорость передачи, предоставляя метрики для оптимизации производительности.
Управление доступом: Поддерживает распределение ролей и прав пользователей, что помогает обеспечить безопасность и ограничить доступ к данным.
Corax UI делает работу с Kafka более понятной и управляемой, помогая эффективно управлять потоками данных и оперативно решать возникающие проблемы.