2016-06-05 4 views
0

Есть ли у каждой темы в Apache Kafka независимая очередь или есть одна очередь, в которой есть все темы или большое количество тем распределены по меньшему количеству очередей?Как работают TOPICS в Apache Kafka

Иными словами, is 1 Topic = 1 Queue?

Или, как Кафка поддерживает каждую тему внутри страны?

ответ

3

В Kafka каждая тема представляет собой единый и логичный распределенный журнал фиксации (например, файл только для присоединения).

Каждая тема разделена на несколько разделов, распределенных через ваш кластер. Количество разделов может быть увеличено динамически.

Раздел физически хранится в файловой системе. Перегородка должна полностью входить в один брокер (машина в кластере Kafka).

Кроме того, вы можете иметь несколько разделов одной темы на одном брокере.

Затем перегородки themselve разделить на несколько файлов сегментов (по умолчанию сегмент имеет размер 1 Гб)

Чтобы проиллюстрировать это, вы можете создать тему, как показано ниже:

Создать новую тему 'тест'

 $ > ./kafka-topics --create --topic test --replication-factor 1 --partitions 3 --zookeeper localhost:2181 
    Created topic "test". 

Список Кафка перегородки (одна папка на раздел)

 $ > ls /tmp/kafka-logs | grep test 
     test-0 
     test-1 
     test-2 

файлов сегментного Списка для каждого раздела

$ > ls -sh /tmp/kafka-logs/test* 
    /tmp/kafka-logs/test-0: 
    total 0 
    0 00000000000000000000.index 0 00000000000000000000.log 

    /tmp/kafka-logs/test-1: 
    total 4,0K 
    0 00000000000000000000.index 4,0K 00000000000000000000.log 

    /tmp/kafka-logs/test-2: 
    total 4,0K 
    0 00000000000000000000.index 4,0K 00000000000000000000.log 
0

Тема имеет разделы. Каждый раздел представляет собой очередь. Элементы в каждом разделе обрабатываются в последовательном порядке. Вы публикуете тему и в зависимости от логики раздела сообщения публикуются в разделах. По умолчанию используется циклический дистрибутив, но он настраивается.

+0

Я думаю, что это как тема журналы настроены, а не сама тема. Не могли бы вы подтвердить это еще раз. @superaghu – divyesh

+0

@divyesh - что вы подразумеваете под темами журналов, у Кафки нет такой концепции. Информация, которую я представил, касается тем – Superaghu