kafka生产者投递消息特征(异步发送)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka生产者投递消息特征(异步发送)相关的知识,希望对你有一定的参考价值。
-
kafka的生产者producer由持有未提交给kafka服务的记录的缓冲区构成一个缓冲区池,于此同时会有一个后台I/O线程来负责将这些记录record转化为请求request,然后将其提交给集群。
-
如果发送完数据之后不对producer进行资源释放close,会导致资源被挤占。
-
producer的send方法是异步的,当调用send方法提交一条记录到缓冲区之后,立即被返回。这样就能够允许生产者进行高效组织以批处理来发送数据。
- producer.send(‘数据’)——>producer缓冲区(producer立即返回,继续添加数据)———>缓冲区满或者到时间了———>后台I/O线程将缓冲区的数据发送到kafka集群。
以上是关于kafka生产者投递消息特征(异步发送)的主要内容,如果未能解决你的问题,请参考以下文章
大数据-消息队列-Kafka:Producer(生产者)发送消息采用的是异步发送两个线程:main线程和Sender线程线程共享变量:双端队列RecordAccumulator