Kafka-Java二:Spring配置kafka消息发送端的缓冲区
一、涉及到的组件概念
1.1、缓冲区
1.2、本地线程
1.3.本地线程消息推送策略
二、各组件的解释参见代码注释
// 配置消息的缓冲区
/** 设置消息发送者端的缓冲区大小,如果设置了缓冲区,消息会先发送到缓冲区,可以提供发送性能
* 默认大小是32M
*/
props.put(ProducerConfig.BUFFER_MEMORY_CONFIG,33554432);
// 配置消息的本地线程
/** 设置消息发送者端的本地线程拉取策略
* 本地线程会从缓冲区中拉取消息
* 设置批量拉取消息的大小,默认是16kb,即本地线程从缓冲区中batch满了16kb的消息后就会发送出去
**/
props.put(ProducerConfig.BATCH_SIZE_CONFIG,16384);
// 设置本地线程中消息发送出去的时间
/**
* 默认值是0,意思是在拉取到消息以后就立马发送出去
* 一般设置为10,表示不管本地线程有没有从缓冲区拉取够16kb的消息,在10ms后,都必须要拉取到的消息发送出去
*/
props.put(ProducerConfig.LINGER_MS_CONFIG,10);