面試官??嫉腗ySQL索引(MySQL進階)
822
2025-04-01
Kafka角色功能
(1) Topic:Kafka 將一組消息抽象歸納為一個主題(Topic),一個主題就是對消息的一個分類。生產者將消息發送到特定主題,消費者訂閱主題或主題的某些分區進行消費。每條發布到Kafka的消息都有一個類別,這個類別被稱為Topic,也可以理解為一個存儲消息的隊列。例如:天氣作為一個Topic,每天的溫度消息就可以存儲在“天氣”這個隊列里。如圖所示。
(2) Partition: 為了提高Kafka的吞吐量,物理上把Topic分成一個或多個Partition,每個Partition都是有序且不可變的消息隊列。每個Partition在物理上對應一個文件夾,該文件夾下存儲這個Partition的所有消息和索引文件。分區使得 Kafka在并發處理上變得更加容易,理論上來說,分區數越多吞吐越高,但這要根據集群實際環境及業務場景而定。同時,分區也是Kafka保證消息被順序消費以及對消息進行負載均衡的基礎。Kafka只能保證一個分區之內消息的有序性,并不能保證跨分區消息的有序性。每條消息被追加到相應的分區中,是順序寫磁盤,因此效率非常高,這是Kafka 高吞吐率的一個重要保證。同時與傳統消息系統不同的是,Kafka并不會立即刪除已被消費的消息。
(3) offset:每條消息在文件中的位置稱為offset,offset是一個long型數字,它唯一
標記一條消息。消費者通過(offset、Partition、Topic)跟蹤記錄。結構如圖所示。
Kafka
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。