Kafka中生产者的配置详情

参数

默认值

描述

producer.type

sync

指定消息发送是同步还是异步。

异步asyc成批发送用kafka.producer.AyncProducer, 同步sync用kafka.producer.SyncProducer

metadata.broker.list

boker list

使用这个参数传入boker和分区的静态信息,如host1:port1,host2:port2, 这个可以是全部boker的一部分

compression.codec

NoCompressionCodec

消息压缩,默认不压缩

compressed.topics

null

在设置了压缩的情况下,可以指定特定的topic压缩,未指定则全部压缩

message.send.max.retries

3

消息发送最大尝试次数

retry.backoff.ms

300

每次尝试增加的额外的间隔时间

topic.metadata.refresh.interval.ms

600000

定期的获取元数据的时间。当分区丢失,leader不可用时producer也会主动获取元数据,如果为0,则每次发送完消息就获取元数据,

不推荐。如果为负值,则只有在失败的情况下获取元数据。

queue.buffering.max.ms

5000

在producer queue的缓存的数据最大时间,仅仅用于异步。

queue.buffering.max.message

10000

producer 缓存的消息的最大数量,仅仅用于异步。

queue.enqueue.timeout.ms

-1

0当queue满时丢掉,负值是queue满时block,正值是queue满时block相应的时间,仅仅用于异步。

batch.num.messages

200

一批消息的数量,仅仅用于异步。

request.required.acks

0

acks指定必须要有多少个partition副本收到消息,生产者才会认为消息的写入是成功的。

 

acks=0,生产者不需要等待服务器的响应,以网络能支持的最大速度发送消息,吞吐量高,但是如果broker没有收到消息,生产者是不知道的

acks=1,leader partition收到消息,生产者就会收到一个来自服务器的成功响应

acks=all(-1),所有的partition都收到消息,生产者才会收到一个服务器的成功响应,仅仅用于异步。

request.timeout.ms

10000

确认超时时间

buffer.memory

 

设置生产者内缓存区域的大小,生产者用它缓冲要发送到服务器的消息。

batch.size

 

发送到同一个partition的消息会被先存储在batch中,该参数指定一个batch可以使用的内存大小,单位是byte。不一定需要等到batch被填满才能发送。

max.in.flight.requests.per.connection

 

生产者在收到服务器响应之前可以发送的消息个数。

linger.ms

 

生产者在发送消息前等待linger.ms,从而等待更多的消息加入到batch中。如果batch被填满或者linger.ms达到上限,就把batch中的消息发送出去。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值