Потоковая платформа для интеграции Big Data и не только: 7 плюсов Apache Kafka

Автор Категория , , ,
Потоковая платформа для интеграции Big Data и не только: 7 плюсов Apache Kafka

Продолжая разговор про интеграцию информационных систем с помощью стриминговой платформы, сегодня мы рассмотрим преимущества event streaming архитектуры на примере Apache Kafka. Также читайте в нашей статье про 5 ключевых сценариев использования Кафка в потоковой обработке событий: от IoT/IIoT до микросервисного разделения в системах аналитики больших данных (Big Data) и машинного обучения (Machine Learning).

7 главных достоинств event streaming архитектура для интеграции информационных систем

Напомним, SOA-подход к интеграции информационных систем отличается некоторыми характерными недостатками, среди которых слабой взаимозависимость и высокая связность компонентов [1]. Поэтому сегодня все большую популярность приобретают методы интеграции приложений на базе стриминговых платформ, обеспечивающих обработку данных в режиме реального времени. В области Big Data наиболее ярким примером такого фреймворка является Apache Kafka. Перечислим основные плюсы, которые ожидаются от интеграции информационных систем с помощью стриминговой платформы [2]:

  • настраиваемая масштабируемость количества узлов в кластере, объема ресурсов и пропускной способности сети – все можно развернуть на типовом локальном оборудовании или в любых общедоступных облачных средах;
  • гибкость архитектуры – от микросервисов до монолитных приложений;
  • событийные микросервисы с асинхронным подключением позволяют обрабатывать сложную бизнес-логику потоков данных, оперативно перемещая их в нужное место;
  • открытость технологии без привязки к конкретному стандарту, формату, источнику или приемнику данных;
  • независимость и управляемость отдельных бизнес-сервисов как продуктов с собственным жизненным циклом разработки, тестирования, развертывания и мониторинга. Это обеспечивает независимую скорость обработки между различными производителями и потребителями, режимы включения, отключения и взаимодействия.
  • многопользовательский режим с гарантией, что только один уполномоченный пользователь может создавать, записывать и читать данные из разных потоков в одном кластере.
  • простота развертывания в production с использованием контейнеров и прочих DevOps-технологий на локальном оборудовании, в общедоступном облаке или гибридной среде.

5 сценариев использования Apache Kafka в качестве стриминговой платформы

Примечательно, что Apache Kafka как распределенная стриминговая платформа позволяет не только организовать эффективную интеграцию различных информационных систем. Отметим еще несколько распространенных примеров использования этой Big Data системы:

  • управляемая событиями обработка больших наборов данных, таких как журналы логов приложений или датчиков IoT/IIoT, события пользовательского поведения в социальных сетях и пр.;
  • критические приложения реального времени, такие как транзакционные платежи, обнаружение мошенничества, взаимодействие с клиентами;
  • раздельная интеграция между различными давно используемыми приложениями на базе устаревших технологий и современными системами;
  • микросервисная архитектура;
  • аналитика больших данных с помощью машинного обучения и других методов Data Science.

Все эти и другие подобные кейсы обеспечиваются принципом работы Apache Kafka по модели «издатель-подписчик», когда производитель (producer) отправляет сообщения в топик (topic), а потребитель (consumer) его считывает. Благодаря этому реализуется независимость разных приложений друг от друга, в т.ч. от их скорости и других параметров. По мере необходимости можно добавлять новые приложения как на стороне производителя, так и на стороне потребителя. Часто одно событие используется многими независимыми приложениями в рамках одного бизнес-процесса. Например, бронирование номеров в гостиницах требует немедленного обнаружения мошенничества с платежами в реальном времени и обработки бронирований через все бэкэнд-системы в near real-time режиме, а также пакетной аналитики за одну ночь для улучшения качества клиентского сервиса, послепродажного обслуживания, гостиничной логистики и прочих процессов. Более того, масштабируемая event streaming платформа обеспечивает работу с будущими или только что произошедшими событиями, например, в следующих случаях [2]:

  • удержание клиента, который хочет покинуть магазин за счет прогнозирования его потребительского поведения и оперативной реакции на его действия или намерения;
  • отмена мошеннической или подозрительной транзакции;
  • замена части оборудования до его поломки;
  • информирование клиентов об опоздании рейса с отправкой обновлений, перебронированием или выдачей ваучера на новую поездку.

Некоторые из описанных кейсов используются в молодых Big Data компаниях типа Netflix, LinkedIn и Zalando, которые построили всю свою инфраструктуру на Kafka. Впрочем, эта стриминговая платформа актуальна и в крупных проектах с длительной историей. В частности, Сбербанк построил свою платформу аналитики больших данных на основе Apache Kafka [3].

Больше подробностей про применение Apache Kafka в реальных проектах потоковой обработки больших данных, вы узнаете на практических курсах по Кафка в нашем лицензированном учебном центре повышения квалификации и обучения руководителей и ИТ-специалистов (разработчиков, архитекторов, инженеров и аналитиков Big Data) в Москве:

Источники

  1. https://habr.com/ru/company/mailru/blog/342526/
  2. https://www.confluent.io/blog/apache-kafka-vs-enterprise-service-bus-esb-friends-enemies-or-frenemies/
  3. https://kafka-summit.org/sessions/distributing-computing-key-player-corebanking-platforms/