当前位置:   article > 正文

Kafka生产者架构(二) - RecordAccumulator_kafka recordaccumulator

kafka recordaccumulator


生产者流程图

接着前一篇对KafkaProducer的分析,本文分析以下流程图的步骤5。
在这里插入图片描述

概述:在原有的ProducerBatch中尝试追加消息,如果尝试两次都失败,会创建新的ProducerBatch,进行第三次尝试追加消息。而追加消息,实际上,是将消息有关属性写入到数据输出流中。对于原有批次已满或者创建了新的批次的情况,会唤醒Sender线程,做后续处理。


前言

RecordAccumulator主要用来缓存消息,以便Sender线程可以批量发送,进而减少网络传输的资源消耗以提升性能。

该缓存的大小可以通过buffer.memory配置,默认32MB。如果生产者发送消息的速度超过了消息发送到服务器的速度,则容易造成缓存空间不足,此时,KafkaProducer#send()要么阻塞,要么抛出异常,取决于max.b

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/618350
推荐阅读
相关标签
  

闽ICP备14008679号