【发布时间】:2020-11-17 18:16:52
【问题描述】:
我看到有两种方法可以向 kafka 主题生成消息,一种是使用 KafkaProducer.send(ProducerRecord
【问题讨论】:
标签: apache-kafka spring-integration spring-kafka
我看到有两种方法可以向 kafka 主题生成消息,一种是使用 KafkaProducer.send(ProducerRecord
【问题讨论】:
标签: apache-kafka spring-integration spring-kafka
KafkaProducer 是一个普通的 Apache Kafka 客户端 API。你可能可以用它来做任何你需要自己编写所有逻辑的事情。没关系。
另一方面,如果您想使用更高级的 API 并且您的应用程序完全基于 Spring,那么您绝对应该考虑将 Spring 用于 Apache Kafka 框架:https://spring.io/projects/spring-kafka。它在提到的KafkaProducer - KafkaTemplate 上提供了一个众所周知的模板模式实现。
当您的应用程序基于企业集成模式并且逻辑由集成流组成时,Spring Integration 及其用于 Kafka 的通道适配器实现 (https://docs.spring.io/spring-integration/docs/current/reference/html/kafka.html#kafka) 会派上用场。这样,当消息被放置到特定通道时,通道适配器订阅者将调用KafkaTemplate 以获取下面的KafkaProducer.send()。是的,这个通道适配器实现为我们正确处理了Future。
您可能只需要了解有关 Spring Integration 的更多信息以及何时在普通的 Apache Kafka API 上使用它...
【讨论】: