Kafka-Python如何手动提交?

时间:2019-04-05 06:58:43

标签: python-3.x apache-kafka kafka-consumer-api kafka-python

我对Kafka相当陌生,刚开始使用Python,所以请原谅我的错误术语,我将尽力解释我的要旨。

我有一个Kafka队列,在这里我的主题被实用地生成。现在,这些主题将保留一个订单列表,并将由消费者选择进行处理。我的要求是,如果一个主题中有多个订单,则仅当前一个订单成功时才处理后一个订单,如果该订单失败,则希望重试。 此外,可以手动处理多个主题中的订单。 因此,在阅读文档时,我会提出提交偏移量的概念,但不确定这是否会对我有所帮助,我无法将其组合在一起。有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

这种逻辑是您必须在消费者中解决外部卡夫卡问题的方法。 Kafka提供了一些方案:一次,一次,一次,一次

https://dzone.com/articles/kafka-clients-at-most-once-at-least-once-exactly-o

但是似乎您有一个同步订单处理系统,您将失去使用Kafka的一些好处。您可以尝试“一次最多一次”,如果失败,则将其推回主题中。