Spring for Apache Kafka

2.3.1

用于Apache Kafka的Spring(spring-kafka)项目将核心Spring概念应用于基于Kafka的消息传递解决方案的开发。它提供了一个“模板”作为发送消息的高级抽象。它还通过@KafkaListener批注和“侦听器容器”为消息驱动的POJO提供支持。这些库促进了依赖注入和声明式的使用。在所有这些情况下,您将看到与Spring Framework中的JMS支持和Spring AMQP中的RabbitMQ支持相似。

特征

  • Kafka模板

  • KafkaMessageListenerContainer

  • @KafkaListener

  • KafkaTransactionManager

  • 带有嵌入式kafka服务器的spring-kafka-test jar

Kafka客户端兼容性

Apache Kafka的Spring基于纯Java kafka-clients jar。以下是兼容性列表:

Apache Kafka版本的 Spring

Apache Kafka版本的Spring集成

kafka客户端

2.3.x

3.2.x

2.3.0

2.2.x

3.1.x

2.0.1、2.1.x,2.2.x

2.1.x

3.0.x

1.0.x,1.1.x,2.0.0

1.3.x

2.3.x

0.11.0.x,1.0.x

重要说明:此矩阵是客户端兼容性;在大多数情况下(自0.10.2.0起),较新的客户端可以与较旧的代理进行通信。由于KIP-62的线程模型更简单,因此建议所有代理> = 0.10.xx的用户(以及所有spring boot 1.5.x用户)使用spring-kafka版本1.3.x或更高版本。有关客户端/经纪人兼容性的完整讨论,请参阅Kafka 兼容性列表

  • Spring Integration Kafka 2.0之前的版本早于Spring for Apache Kafka项目,因此并非基于该版本。

使用maven或gradle进行版本管理时,将暂时引用这些版本。对于1.1.x版本,默认值为0.10.1.x。

2.1.x默认使用1.1.x kafka-clients。当覆盖2.1.x的kafka-clients时,请参阅文档附录

2.2.x默认使用2.0.x kafka-clients。当覆盖2.2.x的kafka-clients时,请参阅文档附录

  • Spring Boot 1.5用户应使用1.3.x(Boot依赖管理默认情况下将使用1.1.x,因此应予以覆盖)。

  • Spring Boot 2.0用户应使用2.0.x(引导依赖性管理将使用正确的版本)。

  • Spring Boot 2.1用户应使用2.2.x(引导依赖性管理将使用正确的版本)。

快速开始

使用Spring Initializr引导您的应用程序。

文献资料

每个Spring项目都有自己的项目 。它解释很详细,你可以如何使用项目的功能 ,哪些是你可以与他们实现。
2.3.1 当前 GA 参考文件 API文件
2.3.2 快照 参考文件 API文件
2.2.11 快照 参考文件 API文件
2.2.10 GA 参考文件 API文件
1.3.11 快照 参考文件 API文件
1.3.10 GA 参考文件 API文件

可以尝试一些示例: