定制建站公司天鸿建设集团有限公司 网站
web/
2025/10/7 15:39:06/
文章来源:
定制建站公司,天鸿建设集团有限公司 网站,asp网站下用php栏目,做网站涉及到哪些本文内容来自尚硅谷B站公开教学视频#xff0c;仅做个人总结、学习、复习使用#xff0c;任何对此文章的引用#xff0c;应当说明源出处为尚硅谷#xff0c;不得用于商业用途。 如有侵权、联系速删 视频教程链接#xff1a;【尚硅谷】Kafka3.x教程#xff08;从入门到调优… 本文内容来自尚硅谷B站公开教学视频仅做个人总结、学习、复习使用任何对此文章的引用应当说明源出处为尚硅谷不得用于商业用途。 如有侵权、联系速删 视频教程链接【尚硅谷】Kafka3.x教程从入门到调优深入全面 发送的目的就一个将消息发到kafka集群里整体流程如下
如上图首先要有一个发送消息的主线程也就是main线程然后有一个读取数据的线程sender所有的消息先经过拦截器一般不用因为大数据体系中使用flume充当拦截器更加方便然后抵达序列化器最后抵达分区器然后发送消息 为什么一般不用Java的序列化器 Java的序列化过于笨重一条消息要附带很多比如安全等功能的额外信息大数据场景下这些额外信息的负担太重通常在spark、flink等框架中我们会自己实现序列化 分区器会在内存中为每一个kafka分区创建一个双端队列方便消息的管理分区器大小为默认32M每个队列在数据达到16k时由sender线程读取当然长时间达不到16k数据的队列也会每隔一段时间(默认0ms)发送一次采用默认策略则意味着每条消息都发送在大数据场景下应当灵活调整 队列数据累加上限的参数与等待发送时长的两个参数为batch.sizelinger.ms 这里其实是创建了一个32M大小的临时内存池数据添加到队列就是内存池分配内存的过程发送成功后清理数据就是内存回归到内存池的过程 达到拉取条件(16k或时长)的数据sender线程会主动从分区器内存空间中拉取数据为每一个节点创建一个请求队列队列中最多等待5个请求发送到kafka集群kafka给予应答回应 如果发送成功则关闭、清理该请求同时清理掉分区器队列中相应的数据 如果发送失败则重试发送直到重试到设定的次数为止默认重试次数为int最大值 应答级别分三种 0生产者发来的消息立即应答不需要等到落盘 1生产者发来的消息等到leader收到数据后应答 -1生产者发来的消息等到leader和备份的所有节点都收到再应答
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88550.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!