Tematy Kafka

Wprowadzenie do Apache Kafka

Mike Metzger

Data Engineering Consultant

Czym jest temat?

  • Tematy to logiczne grupowania zdarzeń
    • Podobne do tabeli w relacyjnej bazie danych
    • Dziennik zdarzeń
    • Wiadomości są niezmienne
    • Wiadomości w temacie można odczytywać lub zapisywać, ale nie modyfikować
    • Wiadomości mogą być usuwane na podstawie wieku

Ilustracja tematu Kafka.

Wprowadzenie do Apache Kafka

Tworzenie tematów

  • Tematy można tworzyć na wiele sposobów
  • Użyjemy skryptu bin/kafka-topics.sh
    bin/kafka-topics.sh 
        --bootstrap-server <server> 
        --topic <topicname>
        --create
    
  • Przykład
    $ bin/kafka-topics.sh --bootstrap-server localhost:9092 \
    --topic orders --create
    
Created topic orders
Wprowadzenie do Apache Kafka

Inne warianty

  • Opcjonalne argumenty dla bin/kafka-topics.sh --create

    • --replication-factor <x>
      • Określa współczynnik replikacji tematu
    • --partitions <x>
      • Ręczne określenie liczby partycji
  • Przykład

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

--describe

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

    • Wyświetla szczegóły konfiguracji tematu
  • Przykład

    $ 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
Wprowadzenie do Apache Kafka

Usuwanie tematów

  • bin/kafka-topics.sh --bootstrap-server <server> --topic <topicname> --delete
    • Usuwa temat z serwera Kafka
    • Usunięcie tematu usuwa również wszystkie jego wiadomości
  • Przykład
    $ bin/kafka-topics.sh --bootstrap-server localhost:9092
      --topic orders --delete
    
$
Wprowadzenie do Apache Kafka

Czas na ćwiczenia!

Wprowadzenie do Apache Kafka

Preparing Video For Download...