Добро пожаловать в мир Apache Kafka Часть 2

Для чего нужен Kafka?

Основная  часть данных в компаниях генерируется из пользовательских форм и активности пользователей. Эти данные являются основным ингредиентом в современных интернет системах, и влючают в себя информацию про активность пользователей (события афторизации; посещения страниц; кликов; деятельность социальных сетей, таких как нравится, поделиться и комментарии), и телеметрии операционой системы.  Эти данные, как правило, собираются в журналы (logs), традиционные решения журналированния имеют довольно высокую пропускную способностью (миллионы сообщений в секунду). Эти традиционные решения жизнеспособны для обеспечения записи данных в автономные системы анализа, такие как Hadoop. Тем не менее, эти решения имеют весьма серьезные ограничения при построении систем обработки данных в реальном времени.

В соответствии с новыми тенденциями в интернет-приложениях, данных о деятельности стали частью производственных данных и используются  для запуска аналитики в режиме реального времени. Эти аналитические данные могут быть:

  • Данные по релевантности на основе поиска
  • Рекомендации, основанные на популярности, совместной встречаемости, или анализа настроений
  • Показ и продуктивность рекламы
  • Защита Интернет-приложений от спама или несанкционированных считывания данных
  • Датчики устройства оповещяющие о недопустимых режимах работы
  • Любое неправильное поведение пользователя или приложения

Из-за большого объема данных этих нескольких наборов данных, собранных из производственных систем создает сложности при использовании из в режиме реального времени.

Apache Kafka стремится объединить оффлайн и онлайн обработки, обеспечивая механизм параллельной нагрузки в системах Hadoop, а также возможность раздела потребления в режиме реального времени через кластер.
С точки зрения активности  обработки потока данных Кафка можно сравнить с Scribe или Flume, но с точки зрения архитектуры, она ближе к традиционным системам обмена сообщениями, такие как ActiveMQ или RabbitMQ.

Примеры использования Kafka

Есть несколько способов, в которых Kafka может быть использованы в любой архитектуре. В этом разделе обсуждаются некоторые из популярных вариантов использования для Apache Kafka и хорошо известные компании, которые испльуют Кафку. Ниже приведены популярные варианты использования Кафки:

Log агрегация: Это процесс сбора физических файлов журналов с серверов и сбора их в одном месте (файловый сервер или HDFS) для обработки. Использование Кафка обеспечивает чистую абстракцию журнала или событий данных в потоке сообщений. Это дает обработку более низкой задержкой и поддержки нескольких источников данных и распределенного потребления данных.

Обработка потоков данных: Кафка может быть использован для случая , когда собранные данные подвергается обработке на нескольких этапах, примером может служить получение необработанных данных, получаемых из темы и обогащенные или измененые в новые темы Кафки для дальнейшего использования. Такая обработку также можно называть обработкой потоков.

Фиксировать журналы: Кафка может быть использованы для представления внешнего фиксации журналов для любой крупномасштабной распределенной системы.

А вот некоторые из компаний, которые используют Apache Kafka в в описанием примения:

LinkedIn (www.linkedin.com): Apache Кафка используется в LinkedIn для потоковой передачи данных о деятельности и операционных показателей. Это данных различных продуктов, такие как LinkedIn News Feed и LinkedIn Today, в дополнение к оффлайн системам аналитики, таких как Hadoop.

DataSift (www.datasift.com): В DataSift, Кафка используется в качестве коллектора для мониторинга событий и как трекер потребления пользователей потоков данных в режиме реального времени.

Twitter (www.twitter.com): Twitter использует Кафку как часть его Storm-а в инфраструктуре потоковой обработки.

Foursquare (www.foursquare.com): использует Кафка в online-to-online и online-to-offline  передачи сообщений в Foursquare. А также для интеграции Foursquare систем мониторинга и производства в Foursquare-и Hadoop основанной инфраструктуре в автономном режиме.

IBM Message Hub (https://developer.ibm.com/messaging/message-hub/): Кафка предназначен для предоставления услуг по обмену сообщениями для микросервисов, обработки событийных и потоковых данных в системах аналитики.

Примечание: данные взяты с https://cwiki.apache.org/confluence/display/KAFKA/Powered+By.

В слейдуюшей публикации начнем устанавливать Кафку.

2 thoughts on “Добро пожаловать в мир Apache Kafka Часть 2

Добавить комментарий