1. 程式人生 > >Kafka的基本概念

Kafka的基本概念

一、基礎

Kafka是一個流處理平臺,是一個訊息對列,但不僅僅是一個訊息佇列。

1.producer :訊息和資料的生產者,向kafka的一個topic釋出訊息。

2.conusmer

(1)conusmer:訊息和資料的消費者,訂閱資料(topic)並且處理其釋出的訊息。

(2)consumer group :對於同一個topic,會廣播給不同的group,一個group中,只有一個consumer可以消費該資訊。

//以組的方式進行排程consumer,消費topic(讀取topic的一個或多個partition)。使用consumer group可以容錯,提高效能。

3.broker

(1)broker:kafak叢集中每個kafka的節點。

(2)broker group:按照broker進行分組,同一個partition不會被多個broker同時儲存。當一個partiiton非常大的時候,可以通過多個broker同時儲存,但不會被儲存多份。

4.topic

(1)topic:kafak訊息類別,對資料進行區分、隔離。

(2)partition:資料儲存的基本單元。一個topic資料會被分散到多個partition,每一個partition都是有序的。

消費者數目<= partition的數目

5.replication(備胎)

(1)基本單位是partition

(2)所有讀和寫都從leader進,follower只做備份,且follower必須能夠及時複製keader的資料;

(3)增加了容錯與可擴充套件性

當叢集中有broker掛掉,系統可以主動使用replication提供服務,系統預設設定每一個topic的replication係數為1,可以在建立topic時單獨配置。