Kafka Connect — фреймворк Apache Kafka, обеспечивающий масштабируемость и гибкость перемещения данных между Kafka и другими хранилищами. Этот фреймворк позволяет брокеру выступать в роли сервисной шины ESB.
Архитектура проекта с Kafka
Возможности Apache Kafka
Потоковая обработка данных
Потоковая обработка Kafka работает с данными в режиме реального времени со скоростью генерации сообщений. Обработка сообщений происходит непрерывно и без блокировки. Многие бизнес-процессы также осуществляются непрерывно и не требуют ответа для обработки. Потоковая обработка данных необходима для таких бизнес-процессов, как оповещение о подозрительных транзакциях или отслеживание почтовой доставки.
Отслеживание активности приложений
Любые сообщения, возникающие в приложении, могут быть опубликованы в специальной теме (topic) Kafka. Например, каждый документ ERP-системы или каждое действие пользователей на сайте: клики, добавление в избранное, добавление/удаление из «Корзины», заполнение форм, просмотр страниц (и его глубина) — можно отправлять и распределять по специально заданным темам Kafka. Так, другие темы (потребители) могут подписаться на необходимые темы для различных целей — мониторинг, анализ, составление отчётов, персонализация и т. д.
Ведение журнала и мониторинг логов
Kafka позволяет вести журналы и мониторить логи. Логи можно публиковать в темах Kafka, а журналы — хранить и обрабатывать в кластере в течение необходимого количества времени. Если у вас есть специальное приложение для мониторинга, оно сможет получать данные из тем Kafka в режиме реального времени.
Хранение сообщений
Kafka добавляет в журнал (сохраняет на диске) каждое сообщение и хранит там вплоть до момента очистки журнала от старых сообщений, который пользователь назначает заранее. Благодаря этому Kafka может использоваться как достоверный источник данных (в отличие от RabbitMQ, который удаляет сообщения сразу после доставки).
Преимущества Kafka Apache
Одним из преимуществ Kafka является его надёжность. Например, если по какой-то причине «упадёт» один из брокеров Kafka, он переключит весь поток данных на другие брокеры и автоматически распределит между ними нагрузку — и система продолжит свою работу в штатном режиме.
Apache Kafka позволяет обрабатывать данные любого объёма. Вы можете начать работать с одним брокером, чтобы попробовать возможности Kafka, а потом увеличить количество брокеров для полной эксплуатации системы. Увеличить объём можно и во время работы текущего количества брокеров — это никак не отразится на системе в целом.
Благодаря своей высокой пропускной способности Apache Kafka способен обрабатывать более миллиона событий в секунду. Это делает Kafka самым популярным брокером сообщений в работе с big data.
Масштабируемость
Производительность
Надёжность системы
НАШИ КЕЙСЫ
Интеграция Kafka в enterprise-инфраструктуру проекта
Клиент
Крупный производитель и ретейлер мягкой и корпусной мебели, матрасов и товаров для сна.
Задача
Заказчик хотел, чтобы механизм транспортировки данных был легковесным, без сложной логики, и выполнял исключительно функцию передачи сообщений из одной системы в другую. При этом нужно было учитывать потребность компании в слабой взаимосвязанности систем, чтобы при необходимости убрать одну из них или заменить на другую.
Kafka Streams— фреймворк для Kafka, обеспечивающий ETL слой без развитых low-code инструментов. Этот фреймворк позволяет брокеру выступать в роли сервисной шины (ESB).
WSO2 ETL — корпоративная сервисная шина, позволяет создавать интеграции и собирать API. Обладает удобной стратегией лицензирования. В философии low-code.
Интеграционная платформа DATAREON — ESB- и MDM-система, которая входит в реестр российского ПО. Позволяет создавать легко отчуждаемый и масштабируемый контур.