Kafka是由Apache軟體基金會開發的一個開源流處理平臺,由Scala和Java編寫。Kafka是一種高吞吐量的分散式釋出訂閱訊息系統,它可以處理消費者在網站中的所有動作流資料。 這種動作(網頁瀏覽,搜尋和其他使用者的行動)是在現代網路上的許多社會功能的一個關鍵因素。 這些資料通常是由於吞吐量的要求而透過處理日誌和日誌聚合來解決。 對於像Hadoop一樣的日誌資料和離線分析系統,但又要求實時處理的限制,這是一個可行的解決方案。Kafka的目的是透過Hadoop的並行載入機制來統一線上和離線的訊息處理,也是為了透過叢集來提供實時的訊息。
一個MQ需要哪些部分?生產、消費、訊息類別、儲存等等。
對於kafka而言,kafka服務就像是一個大的水池。不斷的生產、儲存、消費著各種類別的訊息。那麼kafka由何組成呢?
1、 Kafka服務
> Topic:主題,Kafka處理的訊息的不同分類。
> Broker :訊息代理,Kafka叢集中的一個kafka服務節點稱為一個broker ,主要儲存訊息資料。存在硬碟中。每個topic 都是有分割槽的。
> Partition:Topic物理上的分組,一個topic 在broker 中被分為1個或者多個partition,分割槽在建立topic 的時候指定。
> Message:訊息,是通訊的基本單位,每個訊息都屬於一個partition
2、 Kafka服務相關
> Producer :訊息和資料的生產者,向Kafka的一個topic 釋出訊息。
> Consumer:訊息和資料的消費者,定於topic 並處理其釋出的訊息。
> Zookeeper:協調kafka的正常執行。
二、特點
1、高吞吐量:可以滿足每秒百萬級別訊息的生產和消費——生產消費。QPS
2、永續性:有一套完善的訊息儲存機制,確保資料的高效安全的持久化——中間儲存。
3、分散式:基於分散式的擴充套件和容錯機制;Kafka的資料都會複製到幾臺伺服器上。當某一臺故障失效時,生產者和消費者轉而使用其它的機器——整體健壯性。
Kafka是由Apache軟體基金會開發的一個開源流處理平臺,由Scala和Java編寫。Kafka是一種高吞吐量的分散式釋出訂閱訊息系統,它可以處理消費者在網站中的所有動作流資料。 這種動作(網頁瀏覽,搜尋和其他使用者的行動)是在現代網路上的許多社會功能的一個關鍵因素。 這些資料通常是由於吞吐量的要求而透過處理日誌和日誌聚合來解決。 對於像Hadoop一樣的日誌資料和離線分析系統,但又要求實時處理的限制,這是一個可行的解決方案。Kafka的目的是透過Hadoop的並行載入機制來統一線上和離線的訊息處理,也是為了透過叢集來提供實時的訊息。
一個MQ需要哪些部分?生產、消費、訊息類別、儲存等等。
對於kafka而言,kafka服務就像是一個大的水池。不斷的生產、儲存、消費著各種類別的訊息。那麼kafka由何組成呢?
1、 Kafka服務
> Topic:主題,Kafka處理的訊息的不同分類。
> Broker :訊息代理,Kafka叢集中的一個kafka服務節點稱為一個broker ,主要儲存訊息資料。存在硬碟中。每個topic 都是有分割槽的。
> Partition:Topic物理上的分組,一個topic 在broker 中被分為1個或者多個partition,分割槽在建立topic 的時候指定。
> Message:訊息,是通訊的基本單位,每個訊息都屬於一個partition
2、 Kafka服務相關
> Producer :訊息和資料的生產者,向Kafka的一個topic 釋出訊息。
> Consumer:訊息和資料的消費者,定於topic 並處理其釋出的訊息。
> Zookeeper:協調kafka的正常執行。
二、特點
1、高吞吐量:可以滿足每秒百萬級別訊息的生產和消費——生產消費。QPS
2、永續性:有一套完善的訊息儲存機制,確保資料的高效安全的持久化——中間儲存。
3、分散式:基於分散式的擴充套件和容錯機制;Kafka的資料都會複製到幾臺伺服器上。當某一臺故障失效時,生產者和消費者轉而使用其它的機器——整體健壯性。