java 生产者和消费者--Apache·Kafka和斯普林布特

mzaanser  于 2023-01-07  发布在  Java
关注(0)|答案(1)|浏览(103)

我正在做一个微服务项目,在这个项目中,有一个微服务A正在做一个流程的各个步骤,在每一步完成的时候,微服务向Kafka主题发送消息。然后另一个微服务B使用来自Kafka主题的消息,并发送电子邮件通知步骤成功完成。我需要Exactly once语义。我使用的是KafkaTemplate。发送微服务A和@KafkaListener以读取微服务B中的消息。我的问题是KafkaTemplate生产者和@KafkaListener消费者是否是幂等的,如果不是,我如何使它们幂等。
此致,
我正在使用以下代码创建自动装配KafkaTemplate:-@自动装配公共事件生成器(新主题主题,KafkaTemplate〈字符串,事件〉kafkaTemplate){this. kafkaTemplate = kafkaTemplate;}

nue99wik

nue99wik1#

Kafka的“恰好一次"语义适用于同一应用程序中的consume->process->produce操作--即使这样,也只有整个cpp是“恰好一次”; consume->process部分至少为一次;消费总是至少一次(或最多一次),包括在您的场景中(对于B)。

相关问题