微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法在 Kafka 中回滚已提交的偏移量?

如何解决有没有办法在 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 偏移量,然后提交到数据库。如果数据库事务失败,我想回滚偏移量。

解决方法

可以向后查找消费者组并提交之前的偏移量,是的。

但是,我认为这与在数据库事务完成后提交没有太大区别

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。