基本配置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。