1. 程式人生 > >Spring 對Apache Kafka的支援與整合

Spring 對Apache Kafka的支援與整合

## 1. 引言 Apache Kafka 是一個分散式的、容錯的流處理系統。在本文中,我們將介紹Spring對Apache Kafka的支援,以及原生Kafka Java客戶端Api 所提供的抽象級別。 Spring Kafka 通過 *@KafkaListener* 註解,帶來了一個簡單而典型的 Spring 模板程式設計模型,它還帶有一個 *KafkaTemplate* 和訊息驅動的 POJO 。 ## **2. 安裝和設定** 要下載和安裝Kafka,請參考官方指南。然後還需要在 `pom.xml` 檔案中新增 `spring-kafka`: ```xml ``` 新建一個 Spring Boot 示例應用程式,以預設配置啟動。 ## 3. 配置 Topics 以前我們使用命令列工具在 `Kafka` 中建立 `topic`,例如: ```bash $ bin/kafka-topics.sh --create \ --zookeeper localhost:2181 \ --replication-factor 1 --partitions 1 \ --topic mytopic ``` 但是隨著 *AdminClient* 在Kafka中的引入,我們現在可以通過程式設計來建立 `Topic` 。 如下程式碼,新增 `KafkAdmin` bean 到 Spring中,它將自動為 `NewTopic` 類的所有 `bean` 新增 `topic` : ```java @Configuration public class KafkaTopicConfig { @Value(value = "${kafka.bootstrapAddress}") private String bootstrapAddress; @Bean public KafkaAdmin kafkaAdmin() {