Kafka-Java生产者配置属性中文对照

写在前面,内容来源于 Kafka中文网。更多详情请自行查阅 http://kafka.apachecn.org/

 

 

名称描述
bootstrap.servers

用于与Kafka集群客户端进行初始化连接,

连接成功以后,

客户端会负责负载均衡的与集群中所有机器建立连接。

(可多个:yourhost:port,yourhost2:port )

key.serializer

指定Key序列化使用的类。

自定义序列化类实现接口

org.apache.kafka.common.serialization.Serializer

默认实现类在

org.apache.kafka.common.serialization

包中

value.serializer

指定value序列化使用的类。

自定义序列化类实现接口

org.apache.kafka.common.serialization.Serializer

默认实现类在

org.apache.kafka.common.serialization

包中

 

acks

默认值:1

Producer在确认一个发送完成之前需要收到的反馈信息的数量。

该参数是为了保证发送的可靠性。

有效值:

  • all&-1  leader节点确认所有follow同步完成后,再反馈记录是否发送完成。该属性可靠性最高,但是相对来说响应时间更慢,因为需要等待所以节点完成同步。(ps:如果其中一个节点同步失败,leader就会反馈发送失败,producer就会重新尝试发送)
  • 0 producer不会等待任何反馈就会认为记录发送完成。此时retry属性无效,且记录返回的offset被设置为-1
  • 1all&-1相反的情况,leader节点保存记录以后会马上反馈记录是否发送完成,如果反馈完成以后,follow同步副本失败,则会出现记录丢失的情况。
 buffer.memory

 默认值:33554432

 Producer缓存池大小,当缓存池满后会producer就会阻塞。如果阻塞时间超过 max.block.ms 配置的时长就会抛出异常

 max.block.ms

 默认值:60000(毫秒)

控制 KafkaProducer.send() 和 KafkaProducer.partitionsFor() 允许被阻塞的时长。

因记录序列化或者元数据丢失而阻塞的情况,不会计算到此超时。

 compression.type

默认值:none 

生成记录时使用的压缩类型,批处理越多压缩越好。

有效值:none,gzip,snappy,lz4

 

 retries发送失败的记录重新发送的次数,max.in.flight.requests.per.connection 大于 1 时可能会导致发送的顺序发生改变。即 先后发送 A、B记录,而A失败,B成功时。B的顺序会先于A
 max.in.flight.requests.per.connection

 默认值:5

在发生阻塞之前,客户端的一个连接上允许出现未确认请求的最大数量

 后面看了再记录吧,先Mark了。

 

点赞