Kafka是一種高吞吐量的分佈式發佈訂閱消息系統,它可以處理消費者規模的網站中的所有動作流數據。 這種動作(網頁瀏覽,搜索和其他用戶的行動)是在現代網絡上的許多社會功能的一個關鍵因素。 這些數據通常是由於吞吐量的要求而通過處理日誌和日誌聚合來解決。 對於像Hadoop的一樣的日誌數據和離線分析系統,但又要求實時處理的限制,這是一個可行的解決方案。Kafka的目的是通過Hadoop的並行加載機制來統一線上和離線的消息處理,也是爲了通過集羣機來提供實時的消費。
Kafka 是一種高吞吐量 的分佈式發佈訂閱消息系統,有如下特性:
-
通過O(1)的磁盤數據結構提供消息的持久化,這種結構對於即使數以TB的消息存儲也能夠保持長時間的穩定性能。
-
高吞吐量 :即使是非常普通的硬件Kafka也可以支持每秒數百萬 的消息。
-
支持通過Kafka服務器和消費機集羣來分區消息。
-
支持Hadoop並行數據加載。
-
-
Kafka相關術語介紹
-
-
BrokerKafka集羣包含一個或多個服務器,這種服務器被稱爲broker
-
Topic每條發佈到Kafka集羣的消息都有一個類別,這個類別被稱爲Topic。(物理上不同Topic的消息分開存儲,邏輯上一個Topic的消息雖然保存於一個或多個broker上但用戶只需指定消息的Topic即可生產或消費數據而不必關心數據存於何處)
-
PartitionPartition是物理上的概念,每個Topic包含一個或多個Partition.
-
Producer負責發佈消息到Kafka broker
-
Consumer消息消費者,向Kafka broker讀取消息的客戶端。
-
Consumer Group每個Consumer屬於一個特定的Consumer Group(可爲每個Consumer指定group name,若不指定group name則屬於默認的group)。
-