Kafka témata

Introduction to Apache Kafka

Mike Metzger

Data Engineering Consultant

Co je to téma?

  • Témata jsou logická seskupení událostí
    • Podobná tabulce v relační databázi
    • Protokol událostí
    • Zprávy jsou neměnné
    • Zprávy v tématu lze číst nebo zapisovat, nikoli upravovat
    • Zprávy lze odstraňovat podle stáří

Ilustrace Kafka tématu.

Introduction to Apache Kafka

Vytváření témat

  • Témata lze vytvářet různými způsoby
  • Použijeme skript bin/kafka-topics.sh
    bin/kafka-topics.sh 
        --bootstrap-server <server> 
        --topic <topicname>
        --create
    
  • Příklad
    $ bin/kafka-topics.sh --bootstrap-server localhost:9092 \
    --topic orders --create
    
Created topic orders
Introduction to Apache Kafka

Další možnosti

  • Volitelné argumenty pro bin/kafka-topics.sh --create

    • --replication-factor <x>
      • Nastaví faktor replikace tématu
    • --partitions <x>
      • Ručně určí počet oddílů
  • Příklad

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

--describe

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

    • Zobrazí podrobnosti o konfiguraci tématu
  • Příklad

    $ 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 to Apache Kafka

Odstranění témat

  • bin/kafka-topics.sh --bootstrap-server <server> --topic <topicname> --delete
    • Odstraní téma ze serveru Kafka
    • Spolu s tématem jsou odstraněny i všechny jeho zprávy
  • Příklad
    $ bin/kafka-topics.sh --bootstrap-server localhost:9092
      --topic orders --delete
    
$
Introduction to Apache Kafka

Pojďme si procvičit!

Introduction to Apache Kafka

Preparing Video For Download...