Sujets Kafka

Introduction à Apache Kafka

Mike Metzger

Data Engineering Consultant

Qu'est-ce qu'un sujet ?

  • Les sujets sont des regroupements logiques d'événements
    • Semblable à une table dans une base de données relationnelle
    • Journal d'événements
    • Les messages sont immuables
    • Dans un sujet, on peut lire ou écrire des messages, mais pas les modifier
    • Les messages peuvent être supprimés selon l'ancienneté

Illustration d'un sujet Kafka.png

Introduction à Apache Kafka

Créer des sujets

  • Plusieurs façons de créer des sujets
  • Nous utiliserons le script bin/kafka-topics.sh
    bin/kafka-topics.sh 
        --bootstrap-server <server> 
        --topic <topicname>
        --create
    
  • Exemple
    $ bin/kafka-topics.sh --bootstrap-server localhost:9092 \
    --topic orders --create
    
Created topic orders
Introduction à Apache Kafka

Autres variantes

  • Arguments facultatifs pour bin/kafka-topics.sh --create

    • --replication-factor <x>
      • Définit le facteur de réplication du sujet
    • --partitions <x>
      • Indique manuellement le nombre de partitions
  • Exemple

    $ bin\kafka-topics.sh --bootstrap-server localhost:9092 \
    --topic orders --create --replication-factor 3 \
    --partitions 3
    
Created topic orders
Introduction à Apache Kafka

--describe

  • bin/kafka-topics.sh --bootstrap-server <server> --topic <topicname> --describe

    • Obtenir les détails de la configuration du sujet
  • Exemple

    $ bin/kafka-topics.sh --bootstrap-server localhost:9092 \
       --topic orders --describe
    
Topic: orders-new TopicId: <topicid> PartitionCount: 3 ReplicationFactor: 1    
  Configs:
    Topic: orders-new    Partition: 0    Leader: 0    Replicas: 0    Isr: 0
    Topic: orders-new    Partition: 1    Leader: 0    Replicas: 0    Isr: 0
    Topic: orders-new    Partition: 2    Leader: 0    Replicas: 0    Isr: 0
Introduction à Apache Kafka

Supprimer des sujets

  • bin/kafka-topics.sh --bootstrap-server <server> --topic <topicname> --delete
    • Supprime un sujet du serveur Kafka
    • La suppression retire aussi tous les messages du sujet
  • Exemple
    $ bin/kafka-topics.sh --bootstrap-server localhost:9092
      --topic orders --delete
    
$
Introduction à Apache Kafka

Passons à la pratique !

Introduction à Apache Kafka

Preparing Video For Download...