從提供的段落,列出卡夫卡的主要API. 用逗號分開它們.
Context:卡夫卡儲存來自任意多個過程的關鍵值資訊, 資料可以在不同的"主題"中劃分為不同的"分割槽". 在分割槽內,訊息按照其偏移 (分割槽內訊息的位置) 嚴格排序,並與時間<unk>一起索引和儲存. 其他稱為"消費者"的程序可以從分割槽讀取訊息. 對於流處理,Kafka提供了Streams API,允許編寫來自Kafka的資料並將結果寫回Kafka的Java應用程式. Apache Kafka還可以使用外部流處理系統,如Apache Apex,Apache Beam,Apache Flink,Apache Spark,Apache Storm和Apache NiFi.  卡夫卡執行在一個或多個伺服器 (稱為經紀人) 的叢集上,所有主題的分割槽分佈在叢集節點上. 此外,分割槽也被複制到多個經紀人. 這種架構允許Kafka以容錯的方式傳遞大量的訊息流,並允許它取代一些傳統的訊息系統,如Java訊息服務 (JMS),高階訊息佇列協議 (AMQP) 等.自0.11.0.0版本以來,Kafka提供了交易寫入,使用Streams API提供了完全一次流處理.  卡夫卡支援兩種型別的主題:常規和緊<unk>. 常規主題可以設定保留時間或空間限制. 如果有超過指定儲存時間的記錄,或者如果一個分割槽的空間限制被超越,Kafka可以刪除舊資料以釋放儲存空間. 預設情況下,主題的保留時間為7天, 但也可以無限期儲存資料. 對於緊<unk>的課題, 記錄不會根據時間或空間的限制過期. 相反,Kafka將後來的訊息視為更新的舊訊息與相同的金鑰,並保證永遠不會刪除最新的訊息每鍵. 使用者可以通過為特定的金鑰編寫一個所謂的墓碑訊息來完全刪除訊息.  卡夫卡有五個主要的API:  生產者API <unk>允許應用程式釋出記錄流. 消費者API 允許應用程式訂閱主題並處理記錄流. 聯結器API <unk>執行可重複使用的生產者和消費者API,可以將主題與現有應用程式連結起來. 流 API <unk> 該API將輸入流轉換為輸出,並生成結果. 管理器API <unk>用於管理Kafka主題,經紀人和其他Kafka物件. 消費者和生產者API與Kafka的核心功能通過底層訊息協議脫<unk>. 這允許在任何程式語言中編寫相容的API層,這些API與Kafka捆綁的JavaAPI一樣高效. 阿帕奇卡夫卡專案維護了第三方API的列表.
生產者 API,消費者 API,聯結器 API,流 API,管理器 API