storm-kafka源代码阅读和使用

本文解析了KafkaSpout的功能及实现原理,介绍了其如何从Kafka集群读取并均衡处理各topic分区数据,支持事务及消息重发机制。重点分析了关键对象如MapstateCconf、ZkState_state等的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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代码的解析

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值