kafka-Producer配置参数

x
用微信扫描二维码
分享至好友和朋友圈

  前言

  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,确认超时时间。

特别声明:本文为网易自媒体平台“网易号”作者上传并发布,仅代表该作者观点。网易仅提供信息发布平台。

跟贴 跟贴 0 参与 0
© 1997-2019 网易公司版权所有 About NetEase | 公司简介 | 联系方法 | 招聘信息 | 客户服务 | 隐私政策 | 广告服务 | 网站地图 | 意见反馈 | 不良信息举报

linux运维菜

喜欢使用Linux!

头像

linux运维菜

喜欢使用Linux!

423

篇文章

4169

人关注

列表加载中...
请登录后再关注
x

用户登录

网易通行证/邮箱用户可以直接登录:
忘记密码