【发布时间】:2016-01-27 10:01:04
【问题描述】:
在 Apache Kafka 0.8.2 办公文档中,section 5.6 Distribution,Consumers and Consumer Groups 小节中说
组中的消费者公平地划分分区 可能,每个分区只被一个消费者消费 消费群体。
但我发现在实践中,一个消费者组中的多个消费者可以通过从同一个主题分区发送 FetchRequest 来消费来自单个分区的数据。
在随后的 Consumer Id Registry 小节中
除了 group_id 由所有消费者共享一个 组,每个消费者都被赋予一个瞬态的、唯一的 consumer_id( 形式主机名:uuid)用于识别目的。消费者 ID 是 在以下目录中注册。
/consumers/[group_id]/ids/[consumer_id] --> {"topic1": #streams, ..., "topicN": #streams}(临时节点)
它表示每个消费者都有一个唯一的 ID。但是,我在 zookeeper 中找不到这样的结构。
不知道消费者什么时候开始注册?我使用的客户端库是kakfa-python 0.9.4。
【问题讨论】:
-
只需仔细检查是否在 kafka-python 0.9.4 中实现了组。以及使用什么算法在一组中分配分区
标签: apache-kafka