簡體   English   中英

有沒有辦法在 Kafka 中回滾已提交的偏移量?

[英]Is there a way to rollback a committed offset in Kafka?

在這種情況下,如何回滾/撤消偏移提交(請參閱 catch 塊中的注釋)?

public void HandleMessage(ConsumeResult<object, int> messageResult, IConsumer consumer) {
     try {
         consumer.commit(messageResult);
         
         dbProvider.startTransaction();
         //Do db operations
         dbProvider.commit();

     } 
     catch (Exception ex) {
         dbProvider.rollBack();

         //How do I undo kafka commit here?
     }
}

基本上,我首先要提交 kafka 偏移量,然后提交到數據庫。 如果數據庫事務失敗,我想回滾偏移量。

您可以向后尋找消費者組並提交先前的偏移量,是的。

但是,我認為與數據庫事務完成后提交沒有太大不同

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM