概念介紹
Produce :消息隊列生產者,想kafka的topic發送消息的進程/代碼/服務
Comsumer:消息隊列消費者,訂閱數據(topic)並處理其發佈的消息的進程/代碼/服務
Comsumer Group :邏輯概念,對於同一topic,會廣播給不同的group,一個group中,只有一個consumer可以消費該消息
Broker:物理概念,kafka集羣中每個kafka節點
Topic:邏輯概念,kafka消息的類型,對數據進行區分和隔離
Partition:物理概念,Kafka下數據存儲的基本單元,一個Topic數據會被拆分成多個Partition,每個partition是有序的。
消費者數目小於等於Partition數目。broker group:中的每一個broker保存topic的一個或者多個partitions。
Consumer Group 中的僅有一個Consumer讀取topic的一個或者多個partitions,並且是唯一的consumer。
Replication:同一個partition可能會有多個replication,多個replica之間數據是一樣的,系統默認副本數是一個副本。
broker掛掉的情況下,系統可以主動是replicas提供服務。特點:replication的基本單元是topic的partiton,所有的讀,寫都是
leader進,followers只是作爲備份,followers必須能夠及時複製leader的數據,增加容錯性和可擴展性。
Replication Leader:一個Partition的多個Relication上,需要一個Leader負責該Partition上與Produce與Consumer交互
ReplicaManager:負責管理當前broker所有分區和副本信息,處理kafkaController發起的一些請求,副本狀態的切換,添加/讀取消息等。
Kafka基本結構