天天看點

Kafka 0.10.1 官方文檔(中文版)-1 開始1.1 簡介

1.1 簡介

Kafka是一個分布式流資料處理平台。這到底是什麼意思呢?

我們認為一個流資料處理平台必須具備三個關鍵功能:

  1. 它允許你釋出訂閱流資料,在這方面,他類似一個消息隊列或企業級消息系統(消息中間件);
  2. 它讓你存儲的流式資料具有容錯機制;
  3. 它讓你能實時處理流式資料

Kafka有什麼好處? 它被用于兩大類别的程式:

  1. 在系統和應用之間建構實時、可靠擷取資料的流資料管道
  2. 建構用于資料轉換、資料重複處理的實時流資料應用

要想明白kafka如何做這些事情,需要我們從上到下深入探索kafka的功能。

先熟悉幾個概念:

  1. kafka可以作為叢集運作在一個或多個的伺服器上;
  2. kafka叢集存儲流資料類别的稱為topic。
  3. 每條記錄由一個key,value,timestamp組成的。

Kafka有4個核心的APIs:

  1. Producer API:允許某個應用程式釋出流資料到一個或多個kafka topic
  2. Consumer API:允許某個應用程式訂閱一個或多個kafka topic同時處理生産的流資料。
  3. Streams API:允許某應用程式作為流處理器,消費一個或多個topic輸入流和生産一個或多個topic輸出流,高效地轉換輸入輸出流。
  4. Connector API:允許建構和運作可重用的生産者或消費者,連接配接kafka topic到現有的應用程式或資料系統、例如:一個連接配接到關系型資料庫可能需要捕獲一張表的每次改變。(可作為資料庫日志同步功能)
Kafka 0.10.1 官方文檔(中文版)-1 開始1.1 簡介

在kafka中,用戶端和伺服器之間的通信采用簡單的,高性能,開發語言無關的TCP協定。這種協定是有版本的,并且保持向後相容性。Kafka提供了一個Java的用戶端,同時也提供其他開發語言的用戶端。

繼續閱讀