Top 11 des questions et réponses de l'entretien avec Kafka [Pour les étudiants de première année]

Publié: 2021-02-22

Au cours des neuf années qui ont suivi sa sortie en 2011, Kafka s'est imposé comme l'un des outils les plus précieux pour le traitement des données dans le domaine technologique. Airbnb, Goldman Sachs, Netflix, LinkedIn, Microsoft, Target et le New York Times ne sont que quelques entreprises construites sur Kafka.

Mais qu'est-ce que Kafka ? La réponse simple à cela serait - c'est ce qui aide un conducteur Uber à correspondre avec un passager potentiel ou aide LinkedIn à effectuer des millions de services analytiques ou prévisibles en temps réel. En bref, Apache est une plate-forme de streaming d'événements distribués hautement évolutive, open source et tolérante aux pannes créée par LinkedIn en 2011. Il utilise un journal de validation auquel vous pouvez vous abonner, qui peut ensuite être publié sur un certain nombre d'applications de streaming.

Sa faible latence, son intégration de données et son débit élevé contribuent à sa popularité croissante, à tel point qu'une expertise en Kafka est considérée comme un ajout élogieux au CV d'un candidat et que les professionnels possédant une qualification certifiée sont très demandés aujourd'hui. Cela a également entraîné une augmentation des opportunités d'emploi centrées autour de Kafka.

Dans cet article, nous avons compilé une liste de questions et de réponses d'entretien avec Kafka qui sont les plus susceptibles d'apparaître lors de votre prochaine session d'entretien. Vous voudrez peut-être les consulter pour parfaire vos connaissances avant de vous rendre à votre entretien. Alors, on y va !

Top 11 des questions et réponses des entretiens avec Kafka

1. Qu'est-ce qu'Apache Kafka ?

Kafka est un outil de traitement de données gratuit et open source créé par Apache Software Foundation. Il est écrit en Scala et Java et est un magasin de données en temps réel distribué conçu pour traiter les données en continu. Il offre un débit élevé fonctionnant sur un matériel décent.

Lorsque des milliers de sources de données envoient en continu des enregistrements de données en même temps, des données en continu sont générées. Pour gérer ces données en streaming, une plate-forme de streaming devrait traiter ces données à la fois de manière séquentielle et incrémentielle tout en gérant l'afflux ininterrompu de données.

Kafka prend cet afflux de données entrantes et construit des pipelines de données en continu qui traitent et déplacent les données d'un système à l'autre.

Fonctions de Kafka :

  • Il est chargé de publier des flux d'enregistrements de données et de s'y abonner
  • Il gère le stockage efficace des flux de données dans l'ordre où ils sont générés
  • Il prend en charge le traitement des jours en temps réel

Usages de Kafka :

  • Intégration de données
  • Analyse en temps réel
  • Stockage en temps réel
  • Solution de courtage de messages
  • Détection de fraude
  • Stock trading

2. Pourquoi utilisons-nous Kafka ?

Apache Kafka sert de système nerveux central rendant les données de streaming disponibles pour toutes les applications de streaming (une application qui utilise des données de streaming est appelée une application de streaming). Pour ce faire, il crée des pipelines de données en temps réel qui sont responsables du traitement et du transfert des données entre les différents systèmes qui doivent les utiliser.

Kafka agit comme un système de courtage de messages entre deux applications en traitant et en négociant la communication.

Il a une gamme variée d'utilisations qui incluent la messagerie, le traitement, le stockage, le transport, l'intégration et l'analyse de données en temps réel.

3. Quelles sont les fonctionnalités clés d'Apache Kafka ?

Les principales caractéristiques de Kafka sont les suivantes :

1. Durabilité – Kafka permet une prise en charge transparente de la distribution et de la réplication des partitions de données sur les serveurs qui sont ensuite écrites sur le disque. Cela réduit le risque de défaillance des serveurs, rend les données persistantes et tolérantes aux pannes et augmente leur durabilité.

2. Évolutivité - Kafka peut être perturbé et remplacé sur de nombreux serveurs, ce qui le rend hautement évolutif, au-delà de la capacité d'un seul serveur. Les partitions de données de Kafka n'ont pas de temps d'arrêt à cause de cela.

3. Zéro perte de données – Avec un support approprié et les bonnes configurations, la perte de données peut être réduite à zéro.

4. Vitesse – Comme la latence est extrêmement faible en raison du découplage des flux de données, Apache Kafka est très rapide. Il est utilisé avec Apache Spark, Apache Apex, Apache Flink, Apache Storm, etc., qui sont tous des applications de streaming externes en temps réel.

5. Haut débit et réplication – Kafka a la capacité de prendre en charge des millions de messages qui sont répliqués sur plusieurs serveurs pour fournir un accès à plusieurs abonnés.

4. Comment fonctionne Kafka ?

Kafka fonctionne en combinant deux modèles de messagerie, les mettant ainsi en file d'attente, puis en les publiant et en s'y abonnant afin qu'ils puissent être rendus accessibles à de nombreuses instances de consommateurs.

La mise en file d'attente favorise l'évolutivité en permettant aux données d'être traitées et distribuées à plusieurs serveurs grand public. Cependant, ces files d'attente ne sont pas aptes à être multi-abonnés. C'est là qu'intervient l'approche de publication et d'abonnement. Cependant, étant donné que chaque instance de message serait alors envoyée à chaque abonné, cette approche ne peut pas être utilisée pour la distribution des données sur plusieurs processus.

Par conséquent, Kafka utilise des partitions de données pour combiner les deux approches. Il utilise un modèle de journal partitionné dans lequel chaque journal, une séquence d'enregistrements de données, est divisé en segments plus petits (partitions), pour répondre à plusieurs abonnés.

Cela permet à différents abonnés d'avoir accès au même sujet, ce qui le rend évolutif puisque chaque abonné se voit attribuer une partition.

Le modèle de journal partitionné de Kafka est également rejouable, permettant à différentes applications de fonctionner indépendamment tout en continuant à lire des flux de données.

5. Quels sont les quatre principaux composants de Kafka ?

Il y a quatre composants de Kafka. Elles sont:

- Sujet

– Producteur

– Courtiers

– Consommateur

Les sujets sont des flux de messages qui sont du même type.

Les producteurs sont capables de publier des messages sur un sujet donné.

Les courtiers sont des serveurs dans lesquels sont stockés les flux de messages publiés par les producteurs.

Les consommateurs sont des abonnés qui s'abonnent à des rubriques et accèdent aux données stockées par les courtiers.

6. Combien d'API Kafka possède-t-il ?

Kafka a cinq API principales qui sont :

API Producer : responsable de la publication de messages ou de flux d'enregistrements vers un sujet donné.

– API consommateur : appelées abonnés des sujets qui tirent les messages publiés par les producteurs.

– API Streams : permet aux applications de traiter les flux ; cela implique de traiter le flux d'entrée d'un sujet donné et de le transformer en un flux de sortie. Ce flux de sortie peut ensuite être envoyé à différents sujets de sortie.

– API de connecteur : agit comme un système d'automatisation pour permettre l'ajout de différentes applications à leurs rubriques Kafka existantes.

– API d'administration : les sujets Kafka sont gérés par l'API d'administration, tout comme les courtiers et plusieurs autres objets Kafka.

7. Quelle est l'importance du décalage ?

Le numéro d'identification unique attribué aux messages stockés dans les partitions est appelé décalage. Un décalage sert de numéro d'identification pour chaque message contenu dans une partition.

8. Définissez un groupe de consommateurs.

Lorsqu'un groupe de sujets souscrits sont consommés conjointement par plus d'un consommateur, cela s'appelle un groupe de consommateurs.

9. Expliquez l'importance du gardien de zoo. Kafka peut-il être utilisé sans Zookeeper ?

Les décalages (numéros d'identification uniques) pour un sujet particulier ainsi que les partitions consommées par un groupe de consommateurs particulier sont stockés à l'aide de Zookeeper. Il sert de canal de coordination entre les utilisateurs. Il est impossible d'utiliser Kafka sans Zookeeper. Cela rend le serveur Kafka inaccessible et les demandes des clients ne peuvent pas être traitées si le Zookeeper est contourné.

10. Que signifient Leader et Follower à Kafka ?

Chacune des partitions de Kafka se voit attribuer un serveur qui sert de leader. Chaque demande de lecture/écriture est traitée par le Leader. Le rôle des Followers est de suivre les traces du Leader. Si le système provoque l'échec du leader, l'un des suiveurs arrêtera la réplication et remplacera le leader pour s'occuper de l'équilibrage de charge.

11. Comment démarrer un serveur Kafka ?

Avant de démarrer le serveur Kafka, allumez le Zookeeper. Suivez les étapes ci-dessous :

Serveur Zookeeper :

> bin/zookeeper-server-start.sh config/zookeeper.properties

Serveur Kafka :

bin/kafka-server-start.sh config/server.properties

Conclusion

Si vous souhaitez en savoir plus sur le Big Data, consultez notre programme PG Diploma in Software Development Specialization in Big Data qui est conçu pour les professionnels en activité et fournit plus de 7 études de cas et projets, couvre 14 langages et outils de programmation, pratique pratique ateliers, plus de 400 heures d'apprentissage rigoureux et d'aide au placement dans les meilleures entreprises.

Consultez nos autres cours de génie logiciel sur upGrad.

Menez la révolution technologique axée sur les données

7 ÉTUDES DE CAS ET PROJETS. ASSISTANCE À L'EMPLOI AVEC LES MEILLEURES ENTREPRISES. MENTOR ÉTUDIANT DÉDIÉ.
Programme de certificat avancé en Big Data de l'IIIT Bangalore