Безопасен ли метод KafkaConsumer listTopics ()? - PullRequest
1 голос
/ 03 мая 2020

Я локально протестировал его и обнаружил, что хотя опрос не может быть вызван из нескольких потоков, методы listTopics () и metrics () работают. Означает ли это, что вызов этих методов в порядке из нескольких потоков. Хотите уточнить это у экспертов, чтобы избежать каких-либо проблем при производстве

1 Ответ

0 голосов
/ 04 мая 2020

Это методы Kafka Consumer, который работает как клиент, который использует записи из Kafka Cluster. Потребитель не является поточно-ориентированным . Потребитель поддерживает TCP-соединения с необходимыми брокерами для получения данных.

Многопоточная обработка

Потребитель Kafka НЕ является поточно-ориентированным. Весь сетевой ввод / вывод происходит в потоке приложения, выполняющего вызов.

Пользователь несет ответственность за правильную синхронизацию многопоточного доступа. Несинхронизированный доступ приведет к ConcurrentModificationException .

Так что listTopics () и metrics () методы не являются поточно-ориентированными. Вы можете go через исходный код Kafka, чтобы получить более подробную информацию.

https://github.com/a0x8o/kafka/blob/master/clients/src/main/java/org/apache/kafka/clients/consumer/KafkaConsumer.java

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