KafkaSpout.java
功能:
从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代码的解析

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐