天天看點

Kafka-指定位移消費

        當一個新的消費組建立的時候,它根本沒有可以查找的消費位移,或者消費組的内一個新消費者訂閱了一個新的主題,它也沒有可以查找的消費位移,當_consumer_offsets主題内有關這個消費組的位移資訊過期而被删除以後,它也沒有可以查找的消費位移。

        在Kafka中,每當消費者查找不到所記錄的消費位移時,就會根據消費者用戶端參數auto.offset.reset的配置來決定從何處開始進行消費,這個參數的預設值為“latest”,此參數有以下三個值可以選擇。

  • “latest”:表示從分區末尾開始消費,如下圖,按照預設的配置,消費者會從9開始消費
  • “earliest”:表示從分區起始開始消費,如下圖,消費者會從0開始消費
  • “none”:表示出現查詢不到消費位移的時候,既不從最新的消息位置開始消費,也不從最早的消息位置開始消費,此時會報出NoOffsetForPrritionException異常。
Kafka-指定位移消費

 當然,如果auto.offset.reset的值不是上述三個值的話,系統會扔出ConfigException異常的,感興趣的同學可以自己動手試試。