Kafka筆記_開發API類別及常見用語跟組成單元
接續前一篇筆記 Kafka筆記_架構與集群概念 基本上Kafka處理發布跟訂閱消息的系統,背後使用了4個API分別如下 1.生產者 API:支援應用程式發布 Record 流。 2.消費者 API:支援應用程式訂閱 Topic 和處理 Record 流。 3.Stream API:將輸入流轉換為輸出流,並產生結果。 4.Connector API:執行可重複使用的生產者和消費者 API,可將 Topic 連結到現有應用程式。 Kafka 對各類程式語言提供相關支援 API ,可供.NET、Java、Python 等主流的程式語言所使用。 捨麼是Messages? Messages消息(也稱為 Kafka 記錄)是存儲在主題分區內的鍵/值對。Message 根據為主題配置的保留設置進行持久保存和持久保存。每條消息都包含元數據,例如時間戳屬性,該屬性由建立者在創建時設置,或由代理在插入時設置。 捨麼是Producer? 消息和資料的產生者,向Kafka的一個topic發布消息的一個Process、程式碼、服務。 捨麼是Consumer? 消息和資料的消費者,訂閱數據(topic)並且處理其發佈消息的一個Process、程式碼、服務。 捨麼是Consumer Group? 對於同一個Topic,會廣播給不同Group,一個Group中,只有一個Consumer可消費該消息。 捨麼是Broker? 即Kafka集群中的每個Kafka節點。 什麼是Topic ? 是持久化到磁碟的事件的集合,可以理解為Kafka消息的類別,對數據做區分和隔離。 Topic 由 Record 組成,Record 持有不同的訊息,而 Broker 則負責複製訊息。 Topic支持數據保留的概念,因此可以附加事件並將其保留更長的時間(例如幾天/幾周/幾個月)或僅短暫存儲(例如幾分鐘/小時) 什麼是Partitions ? 從物理層級概念切入,Kafka下數據儲存的基本單元。 一個Topic進一步劃分儲存到多個Partitions(至少有一個),每一個Partition都是有序的。 以提高負載較重時的性能,比方優化可以是 10 秒或 100 秒。 Topic的分區分佈(即複製)所有 Kafka Brokers之間,以實現容錯並提高使用主題時的並行度。 可將Topic分區配置為在不...