kafka0.9 producer與consumer引數
producer level
bootstrap.servers kafka叢集節點列表格式;host1:port1,host2:port2
key.serializer
key序列化型別
value.serializer
value序列化型別
acks producer需要等待leader響應數量 0不需要等待應答,1代表leader成功寫入本地log但不等待follow,-1代表等待insync列表中的follow成功完成
buffer.memory 傳送端的buffer大小,如果超出將block或者丟擲異常 由block.on.buffer.full決定
compression.type
壓縮型別
retries
傳送失敗重發次數
batch.size
批量傳送大小
client.id 客戶標識
connections.max.idle.ms 關閉連線空閒時間
linger.ms
非同步傳送時間間隔
max.block.ms
控制block的時長,當buffer空間不夠或者metadata丟失時產生block
max.request.size
單一請求最大值,超出部分將不會接收。
partitioner.class
partiton類
receive.buffer.bytes
tcp 接收buffer用於讀取資料
request.timeout.ms
請求超時,如果超時將重試,超過重試次數將拋異常
send.buffer.bytes tcp傳送資料用於傳送資料
timeout.ms
服務端等待follow應答的最長時間
block.on.buffer.full
當buffer滿時,是否block不接受新請求,true將block,false將丟擲異常
retry.backoff.ms
傳送失敗重連時間間隔
reconnect.backoff.ms
consumer連線失敗重連間隔
metadata.fetch.timeout.ms
首先發送資料到topic需要抓取metadata,metadata超時時間
metadata.max.age.ms
metadata重新整理時間
max.in.flight.requests.per.connection
kafka可以在一個connection中傳送多個請求,叫作一個flight,這樣可以減少開銷,但是如果產生錯誤,可能會造成資料的傳送順序改變,預設是5 (修改)
consumer level
fetch.min.bytes
服務端返回的最小資料大小,如果資料較小將等待或者超時返回。
group.id 唯一標識consumer
goup
heartbeat.interval.ms
consumer 向
coordinator傳送心跳時間,該值必須小於session.timeout
max.partition.fetch.bytes 一個partiton可以獲取的最大的資料量,不能大於服務允許的最大message值,如果發生將block
partiton
session.timeout.ms
consumer session過期時間
auto.offset.reset 當前consumer給出的offset不存在將執行的動作,earliest:設定offset到0 latest:設定offset到最後
anything
else :丟擲異常
connections.max.idle.ms connection最大空閒時間
enable.auto.commit 自動提交offset
retry.backoff.ms
consumer抓取資料重試時間
reconnect.backoff.ms consumer重連時間
fetch.max.wait.ms 抓取最大等待時間,