KafkaProducer剖析

KafkaProducer剖析

包含以下重要组成部分
1. accumulator
以[topic,partition]为维度收集应用调用send时的数据,每个维度是一个recordbatch链表,每个recordbatch保存着一批消息,内部采用bytebuffer进行存储,如果而bytebuffer大小刚好等于batch.size,则会使用内存池进行存放
2. sender
一个守护线程,负责监视accumulator中是否有可发送的recordbatch,如果有则以broker为维度收集要发往该broker的[topic, partition]数据;如果没有则会估算有可发送recordbatch的时间,并等待再触发检查accumulator,期间可能有被唤醒的情况
3. NetworkClient
对多路复用IO包装,使用一个selector监视所有broker;sender线程会在每次循环中调用poll方法,处理连接,发送sender收集到的要发往每个broker的数据,读取响应数据,触发回调
4. Mertrics
负责监视消息的大小,发送速度,发送延迟等,监控数据默认支持JMX的方式导出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值