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

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

Вот где система обмена сообщениями помогает преодолеть эти проблемы.

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

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

Теперь переходя к распределенному обмену сообщениями, он основан на концепции надежной организации очереди сообщений. В этой системе сообщения асинхронно ставятся в очередь между клиентскими приложениями и системой обмена сообщениями.

Сегодня мы используем два типа шаблонов обмена сообщениями. i) "точка-точка" и другие; ii) система обмена сообщениями "публикация-подписка" или "pub-sub". В основном все шаблоны обмена сообщениями соответствуют pub-sub.

Система обмена сообщениями точка-точка
В системе точка-точка сообщения остаются в очереди. Один или несколько потребителей имеют возможность принимать сообщения в очереди, однако конкретное сообщение может быть использовано максимум одним потребителем.

После того, как потребитель прочитает сообщение в очереди, оно исчезает из этой очереди. Типичным примером этой системы является «Система обработки заказов». В этой системе каждый заказ будет обрабатываться одним обработчиком заказов, но одновременно могут работать и несколько обработчиков заказов.

Система обмена сообщениями публикация-подписка
В системе публикации-подписки или публикации-подписки сообщения содержатся в теме. В отличие от системы точка-точка, потребители в этой системе могут подписаться на более чем одну тему и потреблять все сообщения в этой теме.

В системе Pub-Sub тот, кто создает эти сообщения, известен как издатели, а потребители сообщений называются подписчиками. Одним из таких примеров является Dish TV или поставщики подписки на спутниковые каналы, где они публикуют различные каналы, такие как спорт, фильмы, музыка и т. Д., А затем люди могут подписаться на свой собственный набор каналов, чтобы просматривать их в любое время.

Что такое Kafka?
Таким образом, Apache Kafka представляет собой распределенную систему обмена сообщениями "публикация-подписка" и сложная очередь, которая может обрабатывать большой объем данных, позволяя пользователям отправлять и получать сообщения от одной конечной точки к другой.

Он очень подходит как для автономного, так и для онлайн-потребления сообщений. Сообщения Kafka ограничиваются диском и реплицируются в кластере, предотвращая потерю данных. Apache Kafka был построен на основе службы синхронизации ZooKeeper.

Kafka доказала свою хорошую интеграцию с Apache Storm и Spark для анализа потоковых данных в реальном времени, тем самым ускоряя процесс разработки Apache Kafka.

Conlusion
Kafka был разработан для распределенных систем с высокой пропускной способностью. Его можно легко заменить на более традиционный брокер сообщений. По сравнению с другими системами обмена сообщениями, Kafka имеет лучшую пропускную способность, встроенное разделение, репликацию и присущую отказоустойчивость, что делает его хорошо подходящим для крупномасштабных приложений обработки сообщений.