KafkaProducer剖析
来源:互联网 发布:网络技术支持工程师 编辑:程序博客网 时间:2024/06/09 16:38
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的方式导出
0 0
- KafkaProducer剖析
- kafkaProducer
- KafkaProducer
- KafkaProducer介绍
- Kafka源码分析之KafkaProducer
- Kafka源码学习笔记--KafkaProducer
- KafkaProducer-kafka生产者Java客户端
- kafka官网示例说明--KafkaProducer
- Kafka源码分析之KafkaProducer发送数据send()方法
- 《stl源码剖析》剖析
- 自我剖析
- ViewState 剖析
- ViewState 剖析
- Delphi剖析
- 剖析MagicAjax
- Servlet剖析
- 剖析 OPENNMS
- 剖析技术
- Intellij Idea系列之简单Hello World(2)
- Jquery选择器
- Android 沉浸式状态栏及悬浮效果
- 数据结构面试100题
- 【raspberrypi】新手折腾笔记--01:安装FTP服务
- KafkaProducer剖析
- Android Studio中开启Lambda表达式
- Java Swing设置图标Icon
- 完美解决access双精度和单精度字段内容变成科学记数法
- tensorflow10 《TensorFlow实战Google深度学习框架》笔记-05-03模型持久化code
- 9. Palindrome Number
- 毕设ing|【翻译】部分UI掘进之路
- 机器学习sklearn之菜鸟入门三
- 关于命令行上执行java命令的错误分析