請列出卡夫卡的主要API. 請用小數點來區分.
Context:卡夫卡儲存來自任意數量的"生產者"過程的關鍵-價值訊息. 資料可以在不同的"主題"內分為不同的"分割槽". 在分割槽內, 訊息以其偏移 (訊息在分割槽內的位置) 嚴格排序, 並與時間<unk>一起索引和儲存. 其他叫做"消費者"的過程可以從分割槽讀取訊息. 該應用程式可以從Kafka處理資料,並將結果寫回Kafka. 該軟體也可與外部流處理系統,如Apache Apex,Apache Beam,Apache Flink,Apache Spark,Apache Storm和Apache NiFi一起使用.  卡夫卡執行於一個或多個伺服器 (稱為經紀人) 的叢集, 部分部分也會被複製到多個經紀者. 這樣的架構使卡夫卡能夠以容錯的方式傳送大量訊息流,並使其可以取代一些傳統的訊息系統,如Java訊息服務 (JMS),進階訊息排隊協議 (AMQP) 等.  卡夫卡支援兩種主題:常規主題和緊縮主題. 常規主題可以設定保留時間或空間限制. 如果有超過指定保留時間的記錄, 或如果隔離超過空間限制, 但也可以儲存資料無限期. 沒有時間或空間限制. 卡夫卡將後來的訊息視為更新舊訊息, 使用者可以透過寫出所謂的墓碑訊息,  在卡夫卡有五個主要的API:  允許應用程式發布記錄流. 允許應用程式訂閱主題並處理記錄流. 接頭API <unk>執行可重複使用的生產者和消費者API, 流程API <unk> 這個API將輸入流轉換為輸出, 管理器API <unk>用來管理Kafka主題,經紀者和其他Kafka物件. 消費者和製作者API是透過底層的訊息協議從Kafka的核心功能中分離出來的. 這樣可以在任何程式語言中寫出相容的API層, 該計畫保持第三方API的清單.
產生者API,消費者API,聯結器API,流程API,管理員API