kafka消費者客戶端重要引數

2021-10-05 17:36:57 字數 2571 閱讀 6311

kafka消費者客戶端重要引數說明:

bootstrap.serverskafka集群broker位址列表

key.deserializer訊息中key對應的反序列化類

value.deserializer訊息中value對應的反序列化類

group.id消費者所屬消費者組的唯一標識

client.id消費者客戶端id

heartbeat.interval.ms消費者到消費者協調器質檢的預計時間。蕭條用於確保消費者的會話保持狀態,當有新的消費者加入或離開消費者組的時候方便再平衡,該值必須必session.timtout.ms小,通常不高於1/3.

session.timtoums消費者組協調器檢測消費者是否失效的超時時間

max.poll.intercal.ms消費者拉取訊息的最長空閒時間,如果超過這個時間消費者仍然沒有發起poll操作,消費者會認為該消費者已經離開,會發起在平衡操作

auto.offset.reset消費者找不到消費位移時或者位移越界時,從什麼位置讀取訊息,一般有latest(最新位置),earliest(最開始位置),none,配置其餘值會丟擲異常

enable.auto.commit是否開啟自動提交位移

auto.commit.interval.msenable.auto.commit=true才生效,表示自動提交消費者位移的時間間隔

partition.assignment.strategy消費者分割槽分配策略

interceptor.class消費者客戶端***

fetch.min.bytes消費者客戶端一次拉取請求(呼叫poll方法)能從kafka中拉取的最小資料量,預設值為 1b ,可以適當調大提高吞吐量,但是也會造成時延

fetch.max.bytes消費者客戶端一次拉取請求(呼叫poll方法)能從kafka中拉取的最大資料量,預設值為 50mb。如果這個引數設定得比每條訊息的大小都小的話,客戶端是否無法正常消費?其實該引數設定的不是絕對的最大值,如果引數值小於每條訊息大小,仍然能夠獲取訊息。kafka中能接收的訊息的最大大小是通過服務端引數message.max.bytes(對應於主題端引數max.message.bytes)設定

fetch.max.wait.msfetch.min.byhtes有關,如果達不到最小資料量要求,kafka一直等待,這樣顯然是不合理的,因此通過fetch.max.wait.ms來指定kafka的等待時間,預設為500ms,如果業務對時延敏感,可以適當調小這個引數

max.partition.fetch.bytes每個分割槽返回給消費者的最大資料量,預設為1mb,與fetch.max.bytes類似,乙個針對一次拉取的所有訊息,乙個針對一次拉取所有訊息中的乙個分割槽的訊息大小,同理,如果該值小於每條訊息大小,不會造成訊息無法消費,kafka沒有對此做強硬的設定

max.poll.records消費者一次拉取訊息的最大訊息數量,如果訊息比較小,可以適當增大該值來提公升消費速度

connection.max.idle.ms多久關閉空閒連線,預設為9分鐘

exclude.internal.topics指定內部主題是否可以向消費者公開,kafka內部有兩個內部主題_consumer_offsets_transaction_state。如果設定為true,則只能使用subscribe(collection)方式,而不能使用subscribe(pattern)方式

recieve.buffer.bytes設定so_recbuf訊息接收socket緩衝區大小,預設為64kb,如果為-1,使用作業系統預設值

send.buffer.bytes設定so_sendbuf訊息傳送socket緩衝區大小,預設為128kb,如果為-1,使用作業系統預設值

request.timeout.ms消費者等待請求響應的最長時間,預設為30s

metadata.max.age.ms元資料過期時間,預設為5分鐘

reconnect.backoff.ms嘗試重新連線指定主機之前的等待時間,避免頻繁連線主機,預設這為50ms

retry.backoff.ms嘗試重新傳送失敗的請求到指定分割槽之前的等待時間,避免在某些故障下頻繁傳送,預設為100ms

isolation.level消費者的事務隔離級別

Kafka消費者 重要引數

consumer一次拉取中拉取的最小資料量,預設值為1b consumer一次拉取中拉取的最大資料量,預設值為52428800b,即50mb 指定kafka的等待時間,預設值為500ms,如果訊息不夠多滿足不了最小的拉取量,則等待該時間 配置從每個分割槽裡返回給consumer的最大資料量 配置co...

Kafka2 0消費者客戶端使用

kafka 通過 kafkaconsumer 構造器初始化生產者客戶端的配置。常用的重要配置,詳見官網。group.id 消費組 id key.serializer 實現了 kafka 序列化介面的類,用來序列化 key。value.serializer 實現了 kafka 序列化介面的類,用來序列...

Kafka2 0消費者客戶端使用

kafka 通過 kafkaconsumer 構造器初始化生產者客戶端的配置。常用的重要配置,詳見官網。group.id 消費組 id key.serializer 實現了 kafka 序列化介面的類,用來序列化 key。value.serializer 實現了 kafka 序列化介面的類,用來序列...