kafka - [01] 概述

HOUHUILIN發表於2024-04-23

Kafka是一個分散式的基於釋出/訂閱模式的訊息佇列,主要應用於大資料實時處理領域。

一、什麼是Kafka

Kafka是一個分散式的資料流式傳輸平臺。

1、Apache Kafka是一個開源訊息系統,由scala寫成。是由Apache軟體基金會開發的一個開源訊息系統專案。

2、Kakfa最初是由LinkedIn公司開發,並於2011年初開源,2012年10月從Apache Incubator畢業,該專案的目標是為處理實時資料提供一個統一、高通量、低等待的平臺。

3、kakfa是一個分散式訊息佇列。Kafka對訊息儲存時根據Topic進行歸類。傳送訊息者稱為Producer,訊息接收者稱為Consumer,此外Kafka叢集由多個Kafka例項組成,每個例項(Server)也稱為broker。

二、核心概念

Apache Kafka是一個開源的訊息系統、訊息中介軟體、Scala語言實現的訊息系統。

broker

每個Kafka伺服器就是一個broker。kafka叢集由多個broker組成。

topic

資料主題,資料存放在不同的topic中。可以由多個消費者來消費它的資料。

partition

分割槽,一個topic可以劃分為多個partition。透過分割槽,topic可以進行擴充套件。topic可以透過分割槽讓多個消費者消費,以此提高消費的並行度。

offset

偏移量,資料會按照時間順序追加到結構化的提交log中。offset是有序且不可變的。偏移量由消費者控制,消費者可以透過指定偏移量來重新消費過去的資料。

producer

生產者,就是向broker傳送訊息的客戶端。負責將記錄分配到topic的指定分割槽中。

consumer

消費者,從broker接收訊息的客戶端。需要維護讀取資料的offset,offset在kafka0.9之前儲存在zk,0.9版本之後儲存在kafka的topic: "__consumer_offsets" 中。

三、標題

— 要養成終身學習的習慣 —

相關文章