天天看點

1.1 Kafka概述之基本概念

1.簡介

kafka是apache公司開發的一款分布式釋出-訂閱消息系統。其主要有兩個特點,一是快速,每秒可以生産25萬條消息(50MB),處理55萬條資料(110MB)。二是持久化存儲資料,并可以在叢集中複制,防止資料丢失。

2.術語

(1).主題(Topic)

一組消息的歸納。一個kafka叢集中可以建立多個主題,以主題為機關來管理消息,主題之間互相隔離,互不影響。

(2).分區(Partition)

主題中還可以劃分出多個分區,以分區為機關對主題中的資料進行存儲和備份,消息的實際存儲機關。

(3).分段(Segment)

分區内會被劃分為多個大小相等的segment,segment中log檔案用來存放資料分段,index用來存放索引資訊。

(4).消息(Message)

由一個key,一個value和時間戳構成。

(5).序号(Offset)

分區中每個消息都有的一個連續的序列号,用來唯一辨別消息。

(6).生産者(Producer)

釋出消息的對象。

(7).消費者(Consumer)

訂閱消息并處理消息的對象。

(8).叢集(Cluster)

已釋出的消息儲存在一組伺服器中,稱之為kafka叢集。叢集中的每一個伺服器都是一個代理(broker)。消費者可以訂閱一個或多個主題(topic),并從broker拉資料,進而消費這些已釋出的消息。

(9).副本(Replication)

每個分區都可以有多個副本,存儲在不同伺服器中,共同處理請求提升性能,保證了kafka的容錯能力。多個副本中會有一個leader和多個follower,follower隻對外提供讀能力。

3.核心API

(1).Admin API

允許管理和檢測topic、broker以及其他kafka對象。

(2).Producer API

釋出消息到一個或者多個topic。

繼續閱讀