細(xì)說(shuō) Kafka Partition 分區(qū)
作者:iriniland
來(lái)源:SegmentFault 思否社區(qū)
一、Events, Streams, Topics

二、Partition 分區(qū)

Kafka 中 Topic 被分成多個(gè) Partition 分區(qū)。

三、Offsets(偏移量)和消息的順序

四、Partition 為 Kafka 提供了擴(kuò)展能力

如果把 Topic 的所有 Partition 都放在一個(gè) Broker 上,那么這個(gè) Topic 的可擴(kuò)展性就大大降低了,會(huì)受限于這個(gè) Broker 的 IO 能力。把 Partition 分散開(kāi)之后,Topic 就可以水平擴(kuò)展 。 一個(gè) Topic 可以被多個(gè) Consumer 并行消費(fèi)。如果 Topic 的所有 Partition 都在一個(gè) Broker,那么支持的 Consumer 數(shù)量就有限,而分散之后,可以支持更多的 Consumer。 一個(gè) Consumer 可以有多個(gè)實(shí)例,Partition 分布在多個(gè) Broker 的話,Consumer 的多個(gè)實(shí)例就可以連接不同的 Broker,大大提升了消息處理能力。可以讓一個(gè) Consumer 實(shí)例負(fù)責(zé)一個(gè) Partition,這樣消息處理既清晰又高效。
五、Partition 為 Kafka 提供了數(shù)據(jù)冗余
六、寫(xiě)入 Partition
1. 使用 Partition Key 寫(xiě)入特定 Partition

2. 由 kafka 決定
3. 自定義規(guī)則
七、讀取 Partition




評(píng)論
圖片
表情
