Топик (или тема) — это механизм организации и идентификации сообщений внутри системы сообщений или брокера. Он представляет собой логическую категорию, в пределах которой производители (продюсеры) могут отправлять сообщения, а потребители могут их читать.
Рассмотрим ниже небольшой пример топика на примере системы Kafka.
Кафка-топик — это способ группировки и распределения потоков Big Data сообщений по категориям, где kafka-продюсеры (producers) публикуют сообщения определенной категории в топик, а kafka-потребители (consumer) подписываются на этот топик и читают из него сообщения в момент их поступления.
Для того, чтобы создать новую тему, применяются 2 команды: create и topic. Команда topic является параметром команды create. В качестве примера рассмотрим выполнение следующего кода в командной строке [2]:
bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic my-topic --partitions 1 \ --replication-factor 1 --config max.message.bytes=64000 --config flush.messages=1
В вышерассмотренном фрагменте кода помимо команд create и topic, также указаны 2 другие команды:
- replication-factor — команда, отвечающая за количество реплик в теме(коэффициент репликации);
- partitions — команда, задающая количество разделов для создаваемого топика;
- config — задание конфигурации топика.
Для того, чтобы удалить созданную тему, используется команда delete, которая также выполняется совместно с командой topic [3]:
kafka-topics.sh --zookeeper zoo1.example.com:2181/kafka-cluster --delete --topic my-topic
Администрирование кластера Kafka
Администрирование Arenadata Streaming Kafka
Apache Kafka для инженеров данных
Источники
- https://habr.com/ru/companies/sbermarket/articles/738634/
- https://kafka.apache.org/documentation/
- Н.Нархид, Г.Шапира, Т.Палино. Apache Kafka. Потоковая обработка и анализ данных