我有一个用例,在这个用例中,我需要从一个kafka主题中消费,做一些工作,生成另一个只具有一次语义的kafka主题,并将其保存到一个mongo数据库.After中,通过文档,我认为可以同步卡夫卡事务和mongo事务,但它们仍然是两个不同的事务,.In,如果mongo提交失败了,那么有一种方法可以回滚提交到该主题并从消费者处重放的kafka记录。
producer.send()
producer.sendOffsetsToTransaction()
mongoDao.commit()发布于 2018-08-08 21:47:51
如果侦听器抛出异常,kafka事务将被回滚并重新传递。
如果mongo提交成功,kafka提交失败,您将需要处理重复交付。
如果您将KafkaTransactionManager (或包含一个KafkaChainedTransactionManager )连接到侦听器容器中,则不需要向事务发送偏移量,容器将在提交之前为您完成此操作。
https://stackoverflow.com/questions/51755030
复制相似问题