如何为数据库事务实现kafka手动偏移提交

时间:2019-12-17 16:01:05

标签: apache-kafka transactions kafka-consumer-api consumer

我正在使用kafka,dotnet的服务来从kafka接收消息,一旦从kafka接收消息,就将该消息发送到数据库,然后在数据库中执行一些操作。

我的代码如下。

Dotnet服务将执行一种方法,在此方法中,我将从kafka返回消息。因此,由于我的代码占用了该消息,因此在此kafka注意到了。 返回此消息后,我正在执行数据库操作,因此,如果db中出现问题,将不会对其进行处理。。但是当我从服务中重试该过程时,它将不会收到相同的消息,因为该消息已经存在记录为在卡夫卡中消费。

因此,我想确保使用者没有在我的服务返回kafka消息后提交,但是只有在执行db操作并且一切正常之后,它才应该记录为消耗。然后,它应该在kafka中记录为消耗。 / p>

任何人都可以建议在这种情况下如何实现手动偏移提交。

0 个答案:

没有答案