kafka的分割槽策略是什麼?

2021-10-06 22:11:09 字數 554 閱讀 3325

kafka分割槽的本質就是為了解決資料的寫入和消費時的負載均衡以及資料的容錯。

生產者將資料傳送到kafka對應的主題,主題中儲存資料是按分割槽儲存的;同要消費者消費對應主題中的資料也是按分割槽消費的,在進一步思考,他是按怎麼樣的方式去分割槽的呢?這就是下面要說的kafka的分割槽策略問題。

該機制也決定了生產者如何將訊息傳送到指定的分割槽,以及消費者如何消費分區內的資料。

1 隨機策略

2 輪詢策略(kafka預設)

3 按照key的分割槽策略,key-ordering 

4 自定義分割槽策略,需要實現org.apache.kafka.clients.producer.partitioner介面中的分割槽方法

1 range  startegy(根據範圍消費)

2 round-robin 消費者按照hash分割槽

備註生產者寫入分割槽策略

消費者安分割槽消費策略

kafka消費分割槽策略

在 kafka 實際生產過程中,每個 topic 都會有 多個 partitions。1.多個partitions有什麼好處?1 多個 partition 能夠對 broker 上的資料進行分片,通過減少訊息容量來提公升 io 效能 2 為了提高消費端的消費能力,一般情況下會通過多個 conusme...

kafka的分割槽分配策略

將所有broker n個 和partition排序 將第i個partition分配到第 i mode n 個broker上 當key為空時,訊息隨機傳送到各個分割槽 各個版本會有不同,有的是採用輪詢的方式,有的是隨機,有的是一定時間內只傳送給固定partition,隔一段時間後隨機換乙個 用key的...

Kafka的分割槽分配策略

用過 kafka 的同學應該都知道,每個 topic 一般會有很多個 partitions。為了使得我們能夠及時消費訊息,我們也可能會啟動多個 consumer 去消費,而每個 consumer 又會啟動乙個或多個streams去分別消費 topic 對應分割槽中的資料。我們又知道,kafka 存在...