卡夫卡和蟒蛇 - 我不知道如何消费

时间:2014-02-25 00:36:01

标签: python apache-kafka

来自文档.. [1]:https://github.com/mumrah/kafka-python

# To send messages asynchronously
producer = SimpleProducer(kafka, async=True)
producer.send_messages("my-topic", "async message")

# To consume messages
consumer = SimpleConsumer(kafka, "my-group", "my-topic")
for message in consumer:
    print(message)

“我的团队”来自哪里?如何设置“my-group”?

3 个答案:

答案 0 :(得分:3)

根据SimpleConsumer的{​​{3}},group是“此消费者的名称,用于偏移存储并且必须是唯一的”。

因此,它只是您给消费者的唯一名称。

答案 1 :(得分:2)

kafka使用

组来协调从同一主题读取的多个消费者。如果多个消费者使用相同的组名,它会告诉kafka他们想要共享消费者负载,并且每条消息只会被传递给其中一个组成员。

如果你不知道自己想要团体,那么你可能不会。只需确保名称是唯一的,以便kafka向您的消费者发送该主题的所有可用消息。

答案 2 :(得分:1)

如前所述,每条消息应仅向每个消费者群体发送一次。有关详细信息,请查看http://kafka.apache.org/documentation.html#introduction

直到最后一个版本的kafka-python(编写本文时为0.9.3),消费者群体才能使用SimpleConsumer正常工作。