我是一个新手Kafka和皮Kafka。我知道,生产者和消费者是在皮Kafka通过下面的代码。
from pykafka import KafkaClient
client = KafkaClient("localhost:9092")
topic = client.topics["topicname"]
producer = topic.get_producer()
consumer = topic.get_simple_consumer()
我想知道什么是Kafka客户端,它是如何帮助创造生产者和消费者。
我已经读到我们可以创建集群和代理也使用 client.cluster
以及 client.broker
,但我不明白 client
在这里。
2条答案
按热度按时间c9x0cxw01#
pykafka.KafkaClient
是pykafkaapi的根对象,它提供了到kafka代理的接口以及示例化使用者和生产者示例的能力。这个KafkaClient
可以认为是一个python进程与给定kafka集群交互的整体表示。两者之间没有直接的比较KafkaClient
以及Kafka官方文件中提到的任何概念。从理论上讲,完全可以设计一个python-kafka客户机库,它没有像这样的“客户机”类
KafkaClient
. 我们决定不这样做,因为在我们看来,一个单一的根类提供了一个比一包不同的类更干净、更易于学习的接口。gajydyqb2#
为了简化术语,用“服务器”代替Kafka。
您与服务器和客户端交互。
特别是要与Kafka互动,你可以通过制作者向主题发送消息,并与消费者获取消息。
我对这个图书馆并不熟悉,但是
.broker
以及.cluster
实际上并不是“创建一个kafka代理/集群”,而是建立一个到现有代理/集群的连接,您可以从该连接发出以后的命令。你需要
client.
因为客户机是这两个函数调用的 Package 器要知道为什么它是以这种方式构建的,您必须询问开发人员自己