Назначение#

Общее описание продукта#

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:

  1. Совместимость данных: Schema Registry поддерживает контроль версий и проверку совместимости схем, что помогает избежать ошибок при изменении структуры данных, не нарушая работу системы.

  2. Централизованное управление: Схемы хранятся в одном месте, и различные приложения могут обращаться к ним, обеспечивая согласованность структуры данных между всеми сервисами, работающими с Kafka.

  3. Защита от ошибок сериализации: Schema Registry помогает сериализовать и десериализовать данные, гарантируя, что данные соответствуют ожидаемой структуре, что предотвращает ошибки при передаче сообщений.

  4. Гибкость и масштабируемость: При масштабировании Kafka кластера или добавлении новых приложений Schema Registry помогает плавно адаптировать системы к новым схемам данных, что удобно для крупных распределенных систем.

Использование Schema Registry в рамках продукта Platform V Corax позволяет надежно управлять структурой данных в режиме реального времени, минимизируя риски некорректного обмена данными и сохраняя совместимость данных между различными сервисами.

Corax UI#

Corax UI — это дополнительный компонент продукта Platform V Corax. Он представляет собой интерфейс пользователя, разработанный для удобного взаимодействия с данными и функционалом. Corax UI предоставляет визуальные инструменты, которые позволяют администраторам и разработчикам управлять потоками данных, отслеживать состояние кластеров Kafka и быстро реагировать на любые изменения или проблемы.

Основные возможности Corax UI:

  1. Мониторинг кластера Kafka: Показывает статус брокеров, разделов и подписчиков, помогая контролировать производительность и обнаруживать узкие места в реальном времени.

  2. Управление топиками и данными: Позволяет создавать, удалять и изменять топики, а также отслеживать сообщения и их схемы.

  3. Анализ данных: Обеспечивает удобный доступ к данным, проходящим через Kafka, с возможностью фильтрации и визуализации, что упрощает анализ информации и выявление аномалий.

  4. Контроль производительности: Помогает отслеживать задержки, объем данных и скорость передачи, предоставляя метрики для оптимизации производительности.

  5. Управление доступом: Поддерживает распределение ролей и прав пользователей, что помогает обеспечить безопасность и ограничить доступ к данным.

Corax UI делает работу с Kafka более понятной и управляемой, помогая эффективно управлять потоками данных и оперативно решать возникающие проблемы.