Apache Kafka簡介(入門教程輕鬆學)

本入門教程,涵蓋Kafka核心內容,通過實例和大量圖表,幫助學習者理解,任何問題歡迎留言。

目錄:

第一章 Kafka簡介

kafka的定位

提到kafka,不太熟悉或者稍有接觸的開發人員,第一想法可能會覺得它是一個消息系統。其實Kafka的定位並不止於此。

Kafka官方文檔介紹說,Apache Kafka是一個分佈式流平臺,並給出瞭如下解釋:

流平臺有三個關鍵的能力:

  • 發佈訂閱記錄流,和消息隊列或者企業新消息系統類似。
  • 以可容錯、持久的方式保存記錄流
  • 當記錄流產生時就進行處理

Kafka通常用於應用中的兩種廣播類型:

  • 在系統和應用間建立實時的數據管道,能夠可信賴的獲取數據。
  • 建立實時的流應用,可以處理或者響應數據流。

由此可見,kafka給自身的定位並不只是一個消息系統,而是通過發佈訂閱消息這種機制實現了流平臺。

其實不管kafka給自己的定位如何,他都逃脫不了發佈訂閱消息的底層機制。本文講解的重點,也是kafka發佈訂閱消息的特性。

Kafka和大多數消息系統一樣,搭建好kafka集羣后,生產者向特定的topic生產消息,而消費者通過訂閱topic,能夠準實時的拉取到該topic新消息,進行消費。如下圖:

Kafka特性

kafka和有以下主要的特性:

  1. 消息持久話
  2. 搞吞吐量
  3. 可擴展性

尤其是高吞吐量,是他的最大賣點。kafka之所以能夠實現高吞吐量,是基於他自身優良的設計,及集羣的可擴展性。後面章節會展開來分析。

Kafka應用場景

  1. 消息系統
  2. 日誌系統
  3. 流處理

小結:通過本章學習,可以掌握kafka的定位及其特性,瞭解消息系統的基本運作方式。以及kafka的應用場景。下面一章我們將通過安裝和使用kafka,對kafka有近一步直觀的認知。

下一步:開始《kafka安裝和使用》的學習