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生产者端的同步发送和异步发送

Kafka的Java客户端-生产者

Kafka的Java客户端-生产者

大数据-消息队列-Kafka:Producer(生产者)发送消息采用的是异步发送两个线程:main线程和Sender线程线程共享变量:双端队列RecordAccumulator

今天面试总结,关于kafka 保证消息不丢失问题

kafka08-生产者