前言
kakfa提供了Producer(生产者)的配置参数。
一些重要参数
1、serializer.class
默认值:kafka.serializer.DefaultEncoder,必须实现kafka.serializer.Encoder接口,将T类型的对象encode成kafka message。
2、partitioner.class
默认值:kafka.producer.DefaultPartitioner,必须实现kafka.producer.Partitioner,根据Key提供一个分区策略。
3、producer.type
默认值:sync,指定消息发送是同步还是异步。异步asyc成批发送用kafka.producer.AyncProducer, 同步sync用kafka.producer.SyncProducer。
4、metadata.broker.list
默认值:boker list,使用这个参数传入boker和分区的静态信息,如host1:port1,host2:port2, 这个可以是全部boker的一部分。
5、compression.codec
默认值:NoCompressionCodec,消息压缩,默认不压缩。
6、compressed.topics
默认值:null,在设置了压缩的情况下,可以指定特定的topic压缩,为指定则全部压缩。
7、message.send.max.retries
默认值:3,消息发送最大尝试次数。
8、retry.backoff.ms
默认值:300,每次尝试增加的额外的间隔时间。
9、topic.metadata.refresh.interval.ms
默认值:600000,定期的获取元数据的时间。当分区丢失,leader不可用时producer也会主动获取元数据,如果为0,则每次发送完消息就获取元数据,不推荐。如果为负值,则只有在失败的情况下获取元数据。
10、queue.buffering.max.ms
默认值:5000,在producer queue的缓存的数据最大时间,仅仅for asyc。
11、queue.buffering.max.message
默认值:10000,producer 缓存的消息的最大数量,仅仅for asyc。
12、queue.enqueue.timeout.ms
默认值:-1,0当queue满时丢掉,负值是queue满时block,正值是queue满时block相应的时间,仅仅for asyc。
13、batch.num.messages
默认值:200,一批消息的数量,仅仅for asyc。
14、request.required.acks
默认值:0,0表示producer毋须等待leader的确认,1代表需要leader确认写入它的本地log并立即确认,-1代表所有的备份都完成后确认。 仅仅for sync。
15、request.timeout.ms
默认值:10000,确认超时时间。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.