Задержка в работе Kafka

Во время тестирования я делаю некоторую операцию, например, удаляю тему. Однако я могу видеть тему сразу после ее удаления.

Использование: bin / kafka-topics.sh --list --zookeeper localhost: 2181 Для фактического удаления требуется некоторое время.

Это меня смутило.

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

Это потому, что я использую настроенную kafka с одним узлом, и я слишком тщательно ее тестирую.


person Cpp crusaders    schedule 24.02.2017    source источник


Ответы (1)


  1. Если вы хотите удалить тему, вам необходимо включить это через настройку брокера delete.topic.enable.

  2. Удаление темы происходит «асинхронно», т. Е. После того, как вы выполнили команду удаления, тема помечается как «подлежащая удалению», и брокер удалит тему в какой-то момент позже.

  3. О производстве / потреблении: не уверен. Если потребитель находится в сети, а производитель записывает данные, они должны появиться у потребителя вскоре после ...

person Matthias J. Sax    schedule 24.02.2017
comment
Большое спасибо, Матиас. - person Cpp crusaders; 24.02.2017
comment
1. Итак, у меня включен delete.topic.enable. 2. Я так понимаю, что эта тема все еще видна и не будет удалена сразу. 3. Я вызываю bin / kafka-consumer-perf-test.sh сразу после вызова bin / kafka-producer-perf-test.sh, и для подтверждения установлено значение -1. - person Cpp crusaders; 24.02.2017
comment
в любом случае я мог бы сделать сообщения производителя синхронным, будет полезно .. предпочтительно использовать bin / kafka-producer-perf-test.sh - person Cpp crusaders; 24.02.2017