Kafka是由Apache軟件基金會開發的一個開源流處理平臺,是一種高吞吐量的分佈式發佈訂閱消息系統,它能夠處理消費者在網站中的全部動做流數據。apache
特性:
(1)經過O(1)的磁盤數據結構提供消息的持久化,這種結構對於即便數以TB的消息存儲也可以保持長時間的穩定性能。
(2)高吞吐量:即便是很是普通的硬件Kafka也能夠支持每秒數百萬的消息。
(3)支持經過Kafka服務器和消費機集羣來分區消息。
(4)支持Hadoop並行數據加載。
相關術語:
(1)Broker
Kafka集羣包含一個或多個服務器,這種服務器被稱爲broker。
(2)Topic
每條發佈到Kafka集羣的消息都有一個類別,這個類別被稱爲Topic。(物理上不一樣Topic的消息分開存儲,邏輯上一個Topic的消息雖然保存於一個或多個broker上但用戶只需指定消息的Topic便可生產或消費數據而沒必要關心數據存於何處)
(3)Partition
Partition是物理上的概念,每一個Topic包含一個或多個Partition.
(4)Producer
負責發佈消息到Kafka broker
(5)Consumer
消息消費者,向Kafka broker讀取消息的客戶端。
(6)Consumer Group
每一個Consumer屬於一個特定的Consumer Group(可爲每一個Consumer指定group name,若不指定group name則屬於默認的group)。bootstrap
官網:http://kafka.apache.org/
中文文檔:http://kafka.apachecn.org/windows
1、下載服務器
下載地址:http://kafka.apache.org/quickstart數據結構
點擊Download打開https://www.apache.org/dyn/closer.cgi?path=/kafka/2.3.0/kafka_2.12-2.3.0.tgz
再點擊http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz下載分佈式
下載後解壓,本人解壓在D:\ProgramFiles\Java\kafka_2.12-2.3.0oop
備註:最新版的Kafka已經內置zookeeper,不須要另外下載zookeeper。性能
2、啓動服務器網站
Kafka 使用 ZooKeeper,須要先啓動一個ZooKeeper服務器。 能夠經過與kafka打包在一塊兒的便捷腳原本快速簡單地建立一個單節點ZooKeeper實例。
打開命令行窗口,cd進入解壓目錄,執行命令ui
bin\windows\zookeeper-server-start.bat config\zookeeper.properties
執行成功會佔用2182端口,命令行窗口不關閉。
啓動Kafka服務器
打開命令行窗口,cd進入解壓目錄,執行命令
bin\windows\kafka-server-start.bat config\server.properties
執行成功會佔用9092端口,命令行窗口也不關閉。
3、建立一個 topic
打開命令行窗口,cd進入解壓目錄,執行下面命令,建立一個名爲「test」的topic,它有一個分區和一個副本:
bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
能夠運行list(列表)命令來查看這個topic:
bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
備註:若是要刪除服務器上的Topic,可執行下面命令
bin\windows\kafka-topics.bat --delete --zookeeper localhost:2181 --topic test
這個命令只是將Topic標記爲刪除,若是想真正刪除,須要修改config/server.properties文件,加入下面配置
delete.topic.enable=true
4、啓動生產者
Kafka自帶一個命令行客戶端,它從文件或標準輸入中獲取輸入,並將其做爲message(消息)發送到Kafka集羣。默認狀況下,每行將做爲單獨的message發送。
打開命令行窗口,cd進入解壓目錄,執行下面命令,運行 producer,而後在控制檯輸入一些消息以發送到服務器。
bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test
5、啓動消費者
打開命令行窗口,cd進入解壓目錄,執行下面命令,
bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
會收到生產者發送的消息,在生產者命令行窗口繼續輸入消息,這裏會收到消息。