# Lab01 - Découverte Kafka, Zookeeper et AKHQ

# Rappel

lab01

# Topic / Partition / Segment

Topic etc.

  • Topic : vue abstraite d'un ensemble de partitions qui vont (idéalement) contenir un ensemble de records d'un même type.
  • Partition : permet de répartir les records en plusieurs espaces (partitions) ce qui offre la scalabilité sur la consommation et la production.
  • Segment : une partition est répartie en plusieurs fichiers sur le disque (segments), les records sont ajoutés au fil de l'eau.

# Premier pas

  • Création d'un topic via le conteneur tools

Attention le broker ne permet pas la création de topic à la volée KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'false'

Se connecter dans le conteneur tools et créer un topic à l'aide de la ligne de commande

docker exec -it tools bash
# Dans le conteneur tools
kafka-topics --if-not-exists --bootstrap-server kafka:9092 --create --topic demo --replication-factor 1 --partitions 1
  • Pourquoi le replication factor de 1 ?
  • Pourquoi le partition de 1 ?
  • Pourquoi le bootstrap-server ?
  • Verifier avec la CLI que le topic a été correctement créé.
kafka-topics --list --bootstrap-server kafka:9092
  • Démarrer un producer via la CLI
kafka-console-producer --broker-list kafka:9092 --topic demo
  • Démarrer un consumer via la CLI
kafka-console-consumer --bootstrap-server kafka:9092 --topic demo --from-beginning

topic

  • Pourquoi le --from-beginning ?

# AKHQ (anciennement KafkaHQ)

  • Pour consulter AKHQ en local http://akhq:8080/ (opens new window)

  • Produit Ch'ti !

  • Développé par @tchiotludo

  • Wep App open source qui expose une interface permettant de :

    • Monitorer son cluster (broker, topics, consumer group, etc.)
    • Visualiser le contenu de la schéma registry
    • Lire / écrire de la donnée
    • etc.

akhq akhq broker akhq topic

# Topic Partition avec replication factor à 3

Topic etc.