详解Kafka生产者Producer配置

基本配置apache


metadata.broker.list:broker服务器集群列表,格式为 host1:port1, host2:port2 ...bootstrap


producer.type:消息发送类型同步仍是异步,默认为同步缓存


compression.codec:消息的压缩格式,默认为none不压缩,也能够为gzip, snappy, lz4安全


serializer.class:消息加密格式,默认为kafka.serializer.DefaultEncoder服务器


compressed.topics:主题的压缩格式,能够为'gzip', 'snappy', lz4app


异步生产者配置异步


queue.buffering.max.ms:生产者异步缓存数据的最大时间,单位毫秒ide


queue.buffering.max.messages:生产者异步缓存消息的最大容量加密


queue.enqueue.timeout.ms:队列超时事件。0,若是队列满了就放弃;-ve,若是队列满了就会永远阻塞;+ve,若是队列满了会阻塞一段时间。spa


batch.num.messages:生产者能够批量处理的消息数


Java客户端消费者经常使用配置


bootstrap.servers:broker服务器集群列表,格式为 host1:port1, host2:port2 


key.serializer:定义序列化的接口,建议为org.apache.kafka.common.serialization.StringSerializer


value.serializer:实现序列化接口的类,建议为org.apache.kafka.common.serialization.StringSerializer


acks:配置能够设定发送消息后是否须要Broker端返回确认


    0:不须要进行确认,速度最快。存在丢失数据的风险。


    1:仅须要Leader进行确认,不须要ISR进行确认。是一种效率和安全折中的方式。


    all:须要ISR中全部的Replica给予接收确认,速度最慢,安全性最高,可是因为ISR可能会缩小到仅包含一个Replica,因此设置参数为all并不能必定避免数据丢失。


buffer.memory:生产者的缓村容量,若是记录发送的比传输到服务器的速度快,要么是生产者阻塞,要么是配置的block.on.buffer.full缓存区满了。默认大小为32M


compression.type:生产者生成的全部数据压缩格式,默认不压缩,还能够为gzip, snappy, or lz4


linger.ms:Producer默认会把两次发送时间间隔内收集到的全部Requests进行一次聚合而后再发送,以此提升吞吐量,而linger.ms则更进一步,这个参数为每次发送增长一些delay,以此来聚合更多的Message。

相关文章
相关标签/搜索