栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

producer线程模型简介

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

producer线程模型简介

producer线程模型

producer的cpu消耗

  • reocrdbatch组装和压缩
  • produce request组装和序列化
  • 网络发送和数据接收
  • callback函数回调

record batch组装

1.从record accumulator 申请 record batch,大小为batch size,申请的recordbatch是可以复用的,

2.将record陆续填充进record batch,record batch中record被存储到连续的内存空间,存储结构按照broker端的数据存储结构组装,在与服务器端版本相同的条件下。 如果record batch满,申请新的record batch。

3. 当recordbatch满后,对recordbatch的数据进行压缩,并计算crc,生成memoryrecord

produce request组装和序列化

1.将符合发送条件的record batch按照broker组合,为了保证发送顺序,每个topic partition只提取一个recordbatch

2.将发送给一个broker的recordbatch组装成produce request

3.将request序列化成Bytebuffer发送

lz4压缩

lz4压缩是在recordbatch填充的同时进行的,当recordbatch的数据量达到64k大小,将执行一次压缩算法。在recordbatch满的时候或者调用recordbatch发送前也会执行一次压缩算法,保证数据都被压缩过

callback函数回调

callback前释放掉 用完的record batch

国内最大最权威的 Kafka中文社区 ,在这里你可以结交各大互联网Kafka大佬以及近2000+Kafka爱好者,一起实现知识共享,实时掌控最新行业资讯,免费加入中~

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/686576.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号