标签:Once 调用 客户 shell 需要 offset 标记 负载 要求
kafka 对消息保存时根据Topic 进行归类;发送者为producer 接收者为Consumer;kafka集群有多个实例,每个实例称为broker● Consumer id Registry:每个consumer 都有一个唯一的ID,此id 用来标记消费者信息 /consumers/[group_id]/ids/[consumer_id]
● Consumer offset Tracking:跟踪每个consumer 目前所消费的partition 中最大的offset
/consumers/[group_id]/offsets/[topic]/[broker_id-partition_id]-->offset_value
● Partition Owner registry:标记partition 被哪个consumer 消费
/consumers/[group_id]/owners/[topic]/[broker_id-partition_id] -->consumer_node_id
Producer 端使用zookeeper 用来"发现"broker 列表,以及和Topic下每个partition leader 建立socket 连接并发送消息。
Broker 端使用zookeeper 用来注册broker 信息, 已经监测partition leader 存活性。
Consumer 端使用zookeeper 用来注册consumer 信息,其中包括consumer 消费的partition 列表等,同时也用来发现broker 列表,并和partition leader 建立socket 连接,并获取消息
标签:Once 调用 客户 shell 需要 offset 标记 负载 要求
原文地址:http://blog.51cto.com/weadyweady/2133059