【发布时间】:2019-09-19 17:48:53
【问题描述】:
spring Kafka 模板有什么好处?
我已经尝试了 Kafka 现有的 Producer/Consumer API。用起来很简单,那为什么要用Kafka模板呢。
【问题讨论】:
标签: spring apache-kafka
spring Kafka 模板有什么好处?
我已经尝试了 Kafka 现有的 Producer/Consumer API。用起来很简单,那为什么要用Kafka模板呢。
【问题讨论】:
标签: spring apache-kafka
在高层次上,好处是您可以更轻松地外部化您的属性对象,并且您可以只专注于记录处理逻辑
此外,Spring 还集成了许多其他组件。
注意:其他选项仍然存在,例如 Reactor Kafka、Alpakka、Apache Camel、Smallrye 反应式消息传递、Vert.x……但它们都封装了相同的 Kafka API。
所以,我会说你(勉强)为了方便而交易效率
【讨论】:
Kafka 模板内部使用 Kafka 生产者,因此您可以直接使用 Kafka API。使用 Kafka 模板的好处是它提供了向 Kafka 主题发送消息的不同方法,您可以在此处查看 KafkaProducer 和 KafkaTemplate 之间的 API 比较:
https://kafka.apache.org/10/javadoc/org/apache/kafka/clients/producer/KafkaProducer.html https://docs.spring.io/spring-kafka/api/org/springframework/kafka/core/KafkaTemplate.html
您可以看到KafkaTemplate 提供了许多额外的方式将数据发送到 Kafka 主题,因为有各种 send 方法,而有些调用与 Kafka API 相同,只是从 KafkaTemplate 转发到 KafkaProducer。
由开发者决定使用什么。如果您觉得使用KafkaTemplate 很容易,因为您不必创建ProducerRecord,一个简单的send 方法将为您完成所有工作。
【讨论】: