springboot+@KafkaListener 消費者參數詳解

1.1 consumer參數詳解

BOOTSTRAP_SERVERS_CONFIG    kafka ip+port
REQUEST_TIMEOUT_MS_CONFIG    請求超時時間
ENABLE_AUTO_COMMIT_CONFIG     是否自動提交
AUTO_COMMIT_INTERVAL_MS_CONFIG 自動提交間隔時間
SESSION_TIMEOUT_MS_CONFIG      session失效時間
KEY_DESERIALIZER_CLASS_CONFIG  key序列化工具類
VALUE_DESERIALIZER_CLASS_CONFIG   value序列化工具類
GROUP_ID_CONFIG                   消費組名稱(id)
MAX_POLL_RECORDS_CONFIG            每次拉去最大數量(要配合   factory.setBatchListener(true);使用)
AUTO_OFFSET_RESET_CONFIG            默認offset位置(當不存在offset時從哪裏開始讀取)
MAX_POLL_INTERVAL_MS_CONFIG         最大poll數據時間間隔

1.2、自動提交  ENABLE_AUTO_COMMIT_CONFIG 設置爲true

                      AUTO_COMMIT_INTERVAL_MS_CONFIG  定義時間間隔,多久進行提交一次offset

1.3、自動提交  ENABLE_AUTO_COMMIT_CONFIG 設置爲false

                      由於使用spring-kafka,當手動設定時候會使用spring的提交策略來提交offset

                       通過自定義策略 

factory.getContainerProperties().setAckMode() 來定義使用的方式
AbstractMessageListenerContainer.AckMode 中定義了7中策略給我們使用
RECORD 每次拉去處理完成後進行提交
BATCH 每次拉去完成之後都進行提交
TIME 指定時間間隔提交
COUNT 拉去到一定數量進行提交
COUNT_TIME 指定時間或達到數量後進行提交
下面兩種比較特殊(需要用戶自己使用ack進行提交)

MANUAL(用戶處理後手動提交)
MANUAL_IMMEDIATE(用戶拉取後立即手動提交)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章