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(用戶拉取後立即手動提交)