Spring系列學習之Spring Apache Kafka
英文原文:https://spring.io/projects/spring-kafka
目錄
概述
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
Spring for Apache Kafka Version |
Spring Integration for Apache Kafka Version |
|
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. |
示例
嘗試一些示例: