【kakfa配置参数-Producer详解】

serializer.class

默认值: kafka.serializer.DefaultEncoder

必须实现kafka.serializer.Encoder接口,将T类型的对象encode成kafka message

key.serializer.class

默认值:serializer.class

key对象的serializer类

partitioner.class

默认值:kafka.producer.DefaultPartitioner

必须实现kafka.producer.Partitioner,根据Key提供一个分区策略

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的缓存的数据最大时间,仅仅for asyc

queue.buffering.max.message

默认值:10000

producer 缓存的消息的最大数量,仅仅for asyc

queue.enqueue.timeout.ms

默认值:-1

0当queue满时丢掉,负值是queue满时block,正值是queue满时block相应的时间,仅仅for asyc

batch.num.messages

默认值:200

一批消息的数量,仅仅for asyc

request.required.acks

默认值:0

0表示producer毋须等待leader的确认,1代表需要leader确认写入它的本地log并立即确认,-1代表所有的备份都完成后确认。 仅仅for sync

request.timeout.ms

默认值:10000

确认超时时间

猜你喜欢

转载自gaojingsong.iteye.com/blog/2304317
今日推荐