Что происходит, когда производитель отправляет событие в несуществующую тему с отключенным автоматическим созданием тем? - PullRequest
0 голосов
/ 28 декабря 2018

Я видел эту часть документации ( источник ):

Давайте создадим тему с именем "test" с одним разделом и только одной репликой:

$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

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

$ bin/kafka-topics.sh --list --zookeeper localhost:2181
test

В качестве альтернативы, вместо создания тем вручную, вы также можете настроить брокеров на автоматическое создание тем, когда не- существующая тема опубликована в.

Мне не ясно, что произойдет, если автоматическое создание тем не включено, но производитель отправляет событие в несуществующую тему.Зависит ли это от клиента / библиотеки?Каковы типичные результаты?

(В случае примеров кода я бы предпочел Python)

1 Ответ

0 голосов
/ 28 декабря 2018

Когда клиент Kafka (производитель или потребитель) подключается к серверам начальной загрузки, первое, что он делает, - это запрос метаданных: он запрашивает информацию о разделе раздела, который он хочет создать или потребить.Если auto.create.topics.enable отключен, он получает ошибку UNKNOWN_TOPIC_OR_PARTITION и не может "использовать" тему.Если вы попытаетесь запустить инструмент kafka-console-producer, например, вы получите следующее:

[2018-12-28 08:59:37,669] WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 1 : {my_topic=UNKNOWN_TOPIC_OR_PARTITION} (org.apache.kafka.clients.NetworkClient)
[2018-12-28 08:59:37,768] WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 3 : {my_topic=UNKNOWN_TOPIC_OR_PARTITION} (org.apache.kafka.clients.NetworkClient)
[2018-12-28 08:59:37,869] WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 4 : {my_topic=UNKNOWN_TOPIC_OR_PARTITION} (org.apache.kafka.clients.NetworkClient)
[2018-12-28 08:59:37,971] WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 5 : {my_topic=UNKNOWN_TOPIC_OR_PARTITION} (org.apache.kafka.clients.NetworkClient)
[2018-12-28 08:59:38,073] WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 6 : {my_topic=UNKNOWN_TOPIC_OR_PARTITION} (org.apache.kafka.clients.NetworkClient)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...