如何使用Kafka处理以下问题

cczfrluj  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(315)

假设我有以下情况

producer sends the following instructions on to kafka : 
1. "debit 100 from account A"
2. "send email to user A that his account is debited by 100"
and there is a consumer that does the following :
1. does the actual work of 'debit 100'
2. does the actual work of 'sending mail'

比如说,消费者示例崩溃了,我提出了另一个示例。现在,消费者告诉Kafka“重放”(具体化其数据视图)就现实世界而言,消费者不应该按照这些指示行事(这将导致不必要的借记和电子邮件),而只是阅读数据并做任何需要具体化其视图的事情。
问题是,消费者怎么知道自己之前对某条信息“采取了行动”,所以不应该再对其采取行动。它只需要在内部捕获消息状态信息?

8zzbczxx

8zzbczxx1#

您可以做的一件事是让您的消费者手动提交偏移量。为此,您需要更改默认的使用者配置 enable.auto.committruefalse . 然后,在用户应用程序中,在成功处理消息之后,提交偏移量。

相关问题