Кафка-Питон Как сделать коммит вручную? - PullRequest
0 голосов
/ 05 апреля 2019

Я довольно новичок в Kafka и только начал работать с Python, так что извините за мои неправильные термины, я попытаюсь объяснить мою суть.

У меня есть очередь Kafka, где мои темы генерируются прагматично. Теперь эти темы будут содержать список заказов и будут выбраны потребителями для обработки. Мое требование заключается в том, что, если в теме несколько заказов, последующий заказ должен обрабатываться только тогда, когда предыдущий заказ был успешным, если заказ не выполняется, я хочу, чтобы он был повторен. Также заказы в нескольких темах могут быть обработаны вручную. Поэтому, читая документы, я основываюсь на концепции фиксации смещений, я не уверен, что это поможет мне, я не могу собрать все это вместе. Может ли кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 05 апреля 2019

Эта логика - это то, что вы должны решить вне кафки у своего потребителя. Кафка предлагает несколько сценариев: по крайней мере один раз, по крайней мере один раз, точно один раз

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

Но, похоже, у вас есть синхронная система обработки заказов, и вы потеряете некоторые преимущества использования Kafka. Вы можете попробовать At-Most-Once, и если это не удастся, вы вернетесь назад в тему.

...