Kafka是最初由Linkedin公司開發,是一個分佈式、分區的、多副本的、多訂閱者,基於zookeeper協調的分佈式日誌系統(也可以當做MQ系統),常見可以用於web/nginx日誌、訪問日誌,消息服務等等,Linkedin於2010年貢獻給了Apache基金會併成爲頂級開源項目。
主要應用場景是:日誌收集系統和消息系統。
kafka的特點
高吞吐量:Kafka 每秒可以生產約 25 萬消息(50 MB),每秒處理 55 萬消息(110 MB)
持久化數據存儲:可進行持久化操作。將消息持久化到磁盤,因此可用於批量消費,例如 ETL,以及實時應用程序。通過將數據持久化到硬盤以及replication 防止數據丟失。
分佈式系統易於擴展:所有的 producer、broker 和 consumer 都會有多個,均爲分佈式的。無需停機即可擴展機器。
客戶端狀態維護:消息被處理的狀態是在 consumer 端維護,而不是由 server 端維護。當失敗時能自動平衡。
————————————————