功能:
从kafka集群的各个节点读取消息,
负载均衡的负责各个topic的各个partition的数据的读取
支持事务,可以重发失败的message
代码阅读:
重要对象:
Map stateCconf:保存kafka消费者信息的zookeeper配置信息.
ZkState _state:提供从zookeeper读写kafka消费者信息功能.
DynamicPartitionConnections _connections:保存到kafka各个节点的连接,以及负责的topic的partition号码
PartitionCoordinator _coordinator:创建并保存partitionManager
从kafka集群的各个节点读取消息,
负载均衡的负责各个topic的各个partition的数据的读取
支持事务,可以重发失败的message
代码阅读:
重要对象:
Map stateCconf:保存kafka消费者信息的zookeeper配置信息.
ZkState _state:提供从zookeeper读写kafka消费者信息功能.
DynamicPartitionConnections _connections:保存到kafka各个节点的连接,以及负责的topic的partition号码
PartitionCoordinator _coordinator:创建并保存partitionManager
PartitionManager:负责批量发送消息,负责维持kafka各个partition的消息被成功处理的位置。
说明:contrib-kafka
master branch中的的代码已经是针对storm-0.9.2的版本的
scala-2.9.2 branch中的代码是针对storm-0.8.x版本的
我这里上面的解析是针对storm-0.9.2版本的contrib-kafka代码的解析