在文章的第三部分,我们通过一个简单的例子描述了java代码如何实现生产者生产和发送消息的案例。在这个章节我们要重点了解一下kafka生产者的一些原理及配置参数。
1 数据生产流程解析
下图是一个生产者生产消息的流程图:

关于消息的生产消息的过程,主要有下面一下知识点:
1,Producer创建时,会创建一个Sender线程并设置为守护线程;
2, 生产消息时,内部其实是异步流程;生产的消息先经过拦截器->序列化器->分区器,然后将消
息缓存在缓冲区(该缓冲区也是在Producer创建时创建);
3,批次发送的条件为:缓冲区数据大小达到batch.size或者linger.ms达到上限,哪个先达到就发送;
4,批次发送后,发往指定分区,然后落盘到broker;如果生产者配置了retrires参数大于0并且失
败原因允许重试,那么客户端内部会对该消息进行重试;
5&#x
本文详细解析了Kafka生产者的工作流程,包括数据生产流程、配置参数及内部原理。生产者在创建时启动Sender线程,消息经过拦截器、序列化器和分区器进入缓冲区,按batch.size或linger.ms条件批量发送。配置参数如batch.size和linger.ms影响发送策略。此外,介绍了主线程与Sender线程的角色,以及消息收集器和BufferPool的复用机制。
订阅专栏 解锁全文
1556

被折叠的 条评论
为什么被折叠?



