2

我是 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.clusterand创建集群和代理client.broker,但我不明白client这里的用法。

4

2 回答 2

0

为了使术语更简单,将 Kafka 替换为“服务器”。

您通过客户端与服务器交互 。

特别是要与 Kafka 交互,您可以通过producer向主题发送消息,并通过consumer获取消息。


我不知道这个库,但.broker实际上.cluster并不是“制作 Kafka 代理/集群”,只是建立与现有的连接,您可以从中发出以后的命令。

您需要client.on 这些函数调用,因为客户端是两者的包装器

要知道它为什么以这种方式构建,您必须询问开发人员自己

于 2019-02-21T05:52:19.853 回答
0

pykafka.KafkaClient是 PyKafka API 的根对象,为 Kafka 代理提供接口以及实例化消费者和生产者实例的能力。可以将其KafkaClient视为一个 Python 进程与给定 Kafka 集群交互的整体的表示。KafkaClientKafka 官方文档中提到的任何概念都没有直接的比较。

理论上,设计一个没有“客户端”类的 python Kafka 客户端库是完全可能的KafkaClient。我们决定不这样做,因为在我们看来,单个根类比一堆不同的类提供了一个更干净、更易学习的接口。

于 2019-03-30T00:35:19.663 回答