Topicuri Kafka

Introducere în Apache Kafka

Mike Metzger

Data Engineering Consultant

Ce este un topic?

  • Topicurile sunt grupări logice de evenimente
    • Similar cu un tabel dintr-o bază de date relațională
    • Jurnal de evenimente
    • Mesajele sunt imuabile
    • Mesajele dintr-un topic pot fi citite sau scrise, dar nu modificate
    • Mesajele pot fi eliminate în funcție de vechime

Ilustrație topic Kafka.png

Introducere în Apache Kafka

Crearea topicurilor

  • Mai multe metode de creare a topicurilor
  • Vom folosi scriptul bin/kafka-topics.sh
    bin/kafka-topics.sh 
        --bootstrap-server <server> 
        --topic <topicname>
        --create
    
  • Exemplu
    $ bin/kafka-topics.sh --bootstrap-server localhost:9092 \
    --topic orders --create
    
Created topic orders
Introducere în Apache Kafka

Alte variante

  • Argumente opționale pentru bin/kafka-topics.sh --create

    • --replication-factor <x>
      • Definește factorul de replicare al topicului
    • --partitions <x>
      • Specifică manual numărul de partiții
  • Exemplu

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

--describe

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

    • Obține detalii despre configurația topicului
  • Exemplu

    $ 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
Introducere în Apache Kafka

Ștergerea topicurilor

  • bin/kafka-topics.sh --bootstrap-server <server> --topic <topicname> --delete
    • Elimină un topic din serverul Kafka
    • Eliminarea topicului șterge și toate mesajele din acesta
  • Exemplu
    $ bin/kafka-topics.sh --bootstrap-server localhost:9092
      --topic orders --delete
    
$
Introducere în Apache Kafka

Să exersăm!

Introducere în Apache Kafka

Preparing Video For Download...