Топики Kafka

Введение в Apache Kafka

Mike Metzger

Data Engineering Consultant

Что такое топик?

  • Топики — логические группы событий
    • Аналог таблицы в реляционной базе данных
    • Журнал событий
    • Сообщения неизменяемы
    • Сообщения в топике можно читать и записывать, но не изменять
    • Сообщения могут удаляться по истечении срока хранения

Иллюстрация топика Kafka.

Введение в 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...