Топіки Kafka

Вступ до Apache Kafka

Mike Metzger

Data Engineering Consultant

Що таке топік?

  • Топіки — це логічні групи подій
    • Подібні до таблиці в реляційній БД
    • Журнал подій
    • Повідомлення незмінні
    • У топіку повідомлення можна читати й записувати, але не змінювати
    • Повідомлення можна видаляти за віком

Ілюстрація топіка Kafka.png

Вступ до Apache Kafka

Створення топіків

  • Є кілька способів створити топіки
  • Ми використаємо скрипт bin/kafka-topics.sh
    bin/kafka-topics.sh 
        --bootstrap-server <server> 
        --topic <topicname>
        --create
    
  • Приклад
    $ bin/kafka-topics.sh --bootstrap-server localhost:9092 \
    --topic orders --create
    
Created topic orders
Вступ до Apache Kafka

Інші варіанти

  • Необов'язкові аргументи для bin/kafka-topics.sh --create

    • --replication-factor <x>
      • Визначає фактор реплікації топіка
    • --partitions <x>
      • Вказує кількість партицій вручну
  • Приклад

    $ bin\kafka-topics.sh --bootstrap-server localhost:9092 \
    --topic orders --create --replication-factor 3 \
    --partitions 3
    
Created topic orders
Вступ до Apache Kafka

--describe

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

    • Отримати деталі конфігурації топіка
  • Приклад

    $ 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
Вступ до Apache Kafka

Видалення топіків

  • bin/kafka-topics.sh --bootstrap-server <server> --topic <topicname> --delete
    • Видаляє топік із сервера Kafka
    • Разом із топіком видаляються всі повідомлення в ньому
  • Приклад
    $ bin/kafka-topics.sh --bootstrap-server localhost:9092
      --topic orders --delete
    
$
Вступ до Apache Kafka

Давайте потренуємось!

Вступ до Apache Kafka

Preparing Video For Download...