
image.png
springkafka自定義三個(gè)隊(duì)列,一個(gè)消費(fèi)記錄隊(duì)列 recordsToProcess
一個(gè)acks確認(rèn)隊(duì)列
一個(gè)seeks,定位偏移向量隊(duì)列
springkafka每次從kafka中拉取消息放到recordsToProcess隊(duì)列里,如果隊(duì)列滿了,暫停從kafka中拉取消息,等recordsToProcess消費(fèi)完了,再繼續(xù)拉取消息放入recordsToProcess 。
在確認(rèn)時(shí),判斷是否是手動(dòng)立即確認(rèn),如果是,調(diào)用消費(fèi)者ack方法確認(rèn),如果不是判斷根據(jù)指定的是否是timeAck策略,來批量的進(jìn)行確認(rèn)。