Использование PyKafka Api
Я новичок в Kafka и PyKafka. Я знаю, что производитель и потребитель сделаны в PyKafka с помощью приведенного ниже кода.
from pykafka import KafkaClient
client = KafkaClient("localhost:9092")
topic = client.topics["topicname"]
producer = topic.get_producer()
consumer = topic.get_simple_consumer()
Я хочу знать, что такое KafkaClient и как он помогает в создании производителя и потребителя.
Я прочитал, что мы можем создать кластер и брокер, также используя client.cluster
а также client.broker
, но я не могу понять использование client
Вот.
1 ответ
pykafka.KafkaClient
является корневым объектом API PyKafka, предоставляя интерфейс для брокеров Kafka, а также возможность создавать экземпляры пользователей и производителей. KafkaClient
можно представить как представление совокупности взаимодействия одного процесса Python с данным кластером Kafka. Там нет прямого сравнения между KafkaClient
и любая из концепций, упомянутых в официальной документации Kafka.
Теоретически вполне возможно спроектировать клиентскую библиотеку Python Kafka, у которой нет такого "клиентского" класса, как KafkaClient
, Мы решили не делать этого, так как, по нашему мнению, один корневой класс обеспечивает более понятный и понятный интерфейс, чем пакет различных классов.
Чтобы упростить условия, замените Kafka на "сервер".
Вы взаимодействуете с серверами с клиентами.
В частности, для взаимодействия с Kafka вы отправляете сообщения темам через производителей и получаете сообщения от потребителей.
Я не знаю эту библиотеку по секрету, но .broker
а также .cluster
на самом деле не "создание брокера / кластера Kafka", а только установление соединения с существующим, из которого вы можете выполнить более поздние команды.
Вам нужно client.
на этих вызовах функций, потому что клиент является оберткой вокруг обоих
Чтобы узнать, почему он так структурирован, вам нужно спросить самих разработчиков.