Kafka系列2:深入理解Kafka生产者( 九 )

buffer.memory

该参数用来设置生产者内存缓冲区的大小生产者用它缓冲要发送到服务器的消息 。 如果程序发送消息的速度超过了发送到服务器的速度 , 会导致生产者缓冲区空间不足 , 这时候调用send()方法要么被阻塞 , 要么抛出异常 。

compression.type

默认情况下 , 发送的消息不会被压缩 。 它指定了消息被发送给broker之前使用哪一种压缩算法进行压缩 , 可选值有 snappy(占用CPU少 , 关注性能和网络带宽时选用) , gzip(占用CPU多 , 更高压缩比 , 网络带宽有限时选用) , lz4 。

retries

指定了生产者放消息发生错误后 , 消息重发的次数 。 如果达到设定值 , 生产者就会放弃重试并返回错误 。

batch.size

当有多个消息需要被发送到同一个分区时 , 生产者会把它们放在同一个批次里 。 该参数指定了一个批次可以使用的内存大小 , 按照字节数计算 。

推荐阅读