Topic Kafka

Introduzione ad Apache Kafka

Mike Metzger

Data Engineering Consultant

Che cos'è un topic?

  • I topic sono raggruppamenti logici di eventi
    • Simili a una tabella in un database relazionale
    • Registro eventi
    • I messaggi sono immutabili
    • In un topic i messaggi si leggono o si scrivono, non si modificano
    • I messaggi possono essere rimossi in base all'età

Illustrazione di un topic Kafka.png

Introduzione ad Apache Kafka

Creare topic

  • Più modi per creare topic
  • Useremo lo script bin/kafka-topics.sh
    bin/kafka-topics.sh 
        --bootstrap-server <server> 
        --topic <topicname>
        --create
    
  • Esempio
    $ bin/kafka-topics.sh --bootstrap-server localhost:9092 \
    --topic orders --create
    
Created topic orders
Introduzione ad Apache Kafka

Altre varianti

  • Argomenti opzionali per bin/kafka-topics.sh --create

    • --replication-factor <x>
      • Definisce il fattore di replica del topic
    • --partitions <x>
      • Specifica manualmente il numero di partition
  • Esempio

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

--describe

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

    • Ottieni i dettagli della configurazione del topic
  • Esempio

    $ 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
Introduzione ad Apache Kafka

Rimuovere topic

  • bin/kafka-topics.sh --bootstrap-server <server> --topic <topicname> --delete
    • Rimuove un topic dal server Kafka
    • Rimuovere il topic elimina anche tutti i messaggi nel topic
  • Esempio
    $ bin/kafka-topics.sh --bootstrap-server localhost:9092
      --topic orders --delete
    
$
Introduzione ad Apache Kafka

Esercitiamoci!

Introduzione ad Apache Kafka

Preparing Video For Download...