提问人:Dev dev 提问时间:8/18/2023 更新时间:8/18/2023 访问量:70
Kafka 消费者睡眠唤醒
Kafka consumer sleep wakeup
问:
您好,我有一个使用 Spring Boot 的批处理,其中有一个在处理期间注释的 kafka 消费者有一个静态布尔值,在运行过程中采用不同的值 如果为 true,我想暂停我的 consommer,并在 false 时唤醒它 我不想在消费者暂停时丢失消息
信息a为主题有多个分区
我该怎么做,谢谢@KafkaListener
暂停了我的 kafka 侦听器,如果条件,并且在此暂停期间不会丢失消息
答:
1赞
Artem Bilan
8/18/2023
#1
容器上的暂停功能只是在使用循环准备就绪时移动到该状态的请求。当您正在处理刚刚拉取的批处理时,该线程被阻止,无法立即对暂停请求做出反应。因此,您真的不会丢失现在正在处理的记录。新批次不会被拉取,因为该使用者循环将看到暂停请求。
在文档中查看详细信息:https://docs.spring.io/spring-kafka/reference/html/#pause-resume
评论