每個Topic 可以分為多個Partition,這些Partition即存放Event的位置,可以分散在Kafka集群中的不同節點(Broker,例如多個實體機器)上。這種分散儲存方式提高了可用性和效能。
Kafka 的每個 Partition 可以被分配到不同的 Broker,並且每個 Partition 可以獨立處理 Producer 和Consumer的讀寫,這關係著:
使用Event Key雖然保證了順序性,但如果某個 Event Key非常活躍(如一個頻繁產生資料的客戶),可能會導致某一個Partition特別大,造成資料不平均分佈在不同的Partition上。
下一章將繼續介紹Consumer在消費Event時的詳細機制。