1. 程式人生 > >Spring系列學習之Spring Apache Kafka

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.

示例

嘗試一些示例: