1. 程式人生 > >kafka0.9 producer與consumer引數

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 抓取最大等待時間,