【发布时间】:2021-04-21 08:16:28
【问题描述】:
我的问题是在使用 kafka 的 Spring Boot 微服务中,什么适合使用 KafkaTemplate.send() 或 KafkaProducer.send()
我使用 KafkaConsumer 而不是 KafkaListner 来轮询记录,因为 KafkaListner 会在它们进入主题时获取记录,我希望根据业务需求定期轮询记录。
看过KafkaProducerhttps://kafka.apache.org/10/javadoc/org/apache/kafka/clients/producer/KafkaProducer.html的文档
和Spring KafkaTemplate
https://docs.spring.io/spring-kafka/reference/html/#kafka-template
我无法做出决定,比如什么是理想的使用,或者至少使用一个而不是另一个的原因不清楚?
我需要的是我想要同步操作,即我想知道发布是否成功,因为如果记录没有传递,我需要重试发布。
我们将不胜感激。
【问题讨论】:
-
spring kafka 是 apache kafka 上的 juat 包装库,您可以根据自己的需要使用其中一个
-
就个人而言,我更喜欢 KafkaProducer 而不是 spring 包装器,但不会增加太多复杂性。您的要求可以通过使用
flush()(在两个客户端都可用)来满足
标签: java spring-boot apache-kafka spring-kafka