Apache Kafka: système de messagerie distribuée de nouvelle génération



Apache Kafka fournit des systèmes de messagerie à haut débit et évolutifs, ce qui le rend populaire dans l'analyse en temps réel. Découvrez comment un didacticiel Apache Kafka peut vous aider

Dans le monde d'aujourd'hui, les données sont le principal ingrédient d'applications Internet et englobe généralement les éléments suivants:





  • Visites de pages et clics
  • Activités des utilisateurs
  • Événements correspondant aux connexions
  • Activités de réseautage social telles que les likes, les partages et les commentaires
  • Métriques spécifiques à l'application (par exemple, les journaux, le temps de chargement de la page, les performances, etc.)

Cette les données peuvent être utilisées pour exécuter des analyses en temps réel servant à diverses fins, dont certaines sont:

  • Diffuser des publicités
  • Suivi des comportements anormaux des utilisateurs
  • Afficher la recherche en fonction de la pertinence
  • Affichage des recommandations basées sur les activités précédentes

Problème: La collecte de toutes les données n'est pas facile car les données sont générées à partir de diverses sources dans différents formats



Solution: L'un des moyens de résoudre ce problème consiste à utiliser un système de messagerie. Les systèmes de messagerie offrent une intégration transparente entre les applications distribuées à l'aide de messages.

apache-kafka-next-generation-distributed-messaging-system

Apache Kafka:



Apache Kafka est un système de messagerie d'abonnement à publication distribué qui a été développé à l'origine chez LinkedIn et qui est ensuite devenu une partie du projet Apache. Kafka est rapide, agile, évolutif et distribué par conception.

Architecture et terminologie de Kafka:

transformation de recherche dans l'exemple informatica

Sujet : Un flux de messages appartenant à une catégorie particulière est appelé un sujet

Producteur: Un producteur peut être n'importe quelle application qui peut publier des messages dans une rubrique

Consommateur: Un consommateur peut être n'importe quelle application qui s'abonne à des sujets et consomme les messages

Courtier: Le cluster Kafka est un ensemble de serveurs, chacun étant appelé un courtier

Kafka est évolutif et permet la création de plusieurs types de clusters.

  • Cluster de courtier unique à nœud unique
  • Cluster de courtiers multiples à nœud unique
  • Nœuds multiples Cluster Broker multiple

Courtier unique à nœud unique

Quel est le rôle de ZooKeeper?

Chaque courtier Kafka se coordonne avec d'autres courtiers Kafka à l'aide de ZooKeeper. Les producteurs et les consommateurs sont informés par le service ZooKeeper de la présence de nouveaux courtiers ou de la défaillance du courtier dans le système Kafka.

Courtiers multiples à nœud unique

Plusieurs nœuds, plusieurs courtiers

Kafka @ LinkedIn

LinkedIn Newsfeed est alimenté par Kafka

Les recommandations LinkedIn sont alimentées par Kafka

Les notifications LinkedIn sont alimentées par Kafka

Remarque: En dehors de cela, LinkedIn utilise Kafka pour de nombreuses autres tâches telles que la surveillance des journaux, les mesures de performance, l'amélioration de la recherche, entre autres.

Qui d'autre utilise Kafka?

DataSift: DataSift utilise Kafka comme collecteur d'événements de surveillance et pour suivre la consommation des flux de données par les utilisateurs en temps réel

Wooga: Wooga utilise Kafka pour agréger et traiter les données de suivi de tous ses jeux Facebook (hébergés chez divers fournisseurs) dans un emplacement central

Spongecell: Spongecell utilise Kafka pour exécuter l'ensemble de son pipeline d'analyse et de surveillance, pilotant à la fois des applications en temps réel et ETL

Loggly: Loggly est la gestion de journaux basée sur le cloud la plus populaire au monde. Il utilise Kafka pour la collecte de journaux.

Étude comparative: Kafka vs ActiveMQ vs RabbitMQ

Kafka a un format de stockage plus efficace: en moyenne, chaque message a une surcharge de 9 octets dans Kafka, contre 144 octets dans ActiveMQ

Dans ActiveMQ et RabbitMQ, les courtiers maintiennent l'état de livraison de chaque message en écrivant sur le disque, mais dans le cas de Kafka, il n'y a pas d'écriture sur le disque, ce qui le rend plus rapide.

Avec la large adoption de Kafka en production, il semble être une solution prometteuse pour résoudre les problèmes du monde réel. La formation Apache Kafka peut vous aider à devancer vos pairs dans une carrière d'analyse en temps réel. Démarrez avec un didacticiel Apache Kafka Ici .

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires et nous vous recontacterons.

Articles Similaires:

Ce dont vous avez besoin pour une carrière dans l'analyse en temps réel