Spring系列学习之Spring Apache Kafka

英文原文:https://spring.io/projects/spring-kafka

目录

概述

特性

Kafka客户端兼容性

Spring Boot配置

快速开始

学习

文档

示例


概述

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

特性

  •     KafkaTemplate
  •     KafkaMessageListenerContainer
  •     @KafkaListener
  •     KafkaTransactionManager
  •      带嵌入式kafka服务器的spring-kafka-test jar

Kafka客户端兼容性

Apache Kafka的Spring基于纯java kafka-clients jar。 以下是兼容性矩阵:

Spring for Apache Kafka Version

Spring Integration for Apache Kafka Version

kafka-clients

2.2.x

3.1.x

2.0.0, 2.1.0

2.1.x

3.0.x

1.0.x, 1.1.x, 2.0.0

2.0.x

3.0.x

0.11.0.x, 1.0.x

1.3.x

2.3.x

0.11.0.x, 1.0.x

1.2.x

2.2.x

0.10.2.x

1.1.x

2.1.x

0.10.0.x, 0.10.1.x

1.0.x

2.0.x

0.9.x.x

N/A*

1.3.x

0.8.2.2

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

  •     Spring 2.0之前的Spring集成Kafka版本早于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(默认情况下,引导依赖关系管理将使用1.1.x,因此应该覆盖它)。
  •     Spring Boot 2.0用户应该使用2.0.x(引导依赖管理将使用正确的版本)。
  •     Spring Boot 2.1用户应该使用2.2.x(引导依赖管理将使用正确的版本)。

Spring Boot配置

Spring for Apache Kafka的Spring Boot自动配置

快速开始

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

学习

文档

每个Spring项目都有自己的; 它详细解释了如何使用项目功能以及使用它们可以实现的功能。

2.2.2 CURRENT GA Reference Doc. API Doc.
2.2.3 SNAPSHOT Reference Doc. API Doc.
2.1.12 SNAPSHOT Reference Doc. API Doc.
2.1.11 GA Reference Doc. API Doc.
1.3.9 SNAPSHOT Reference Doc. API Doc.
1.3.8 GA Reference Doc. API Doc.

示例

尝试一些示例:

猜你喜欢

转载自blog.csdn.net/boonya/article/details/85218402