課程簡介:
Kafka 是分布式發布-訂閱消息系統。它最初由 LinkedIn 公司開發,使用 Scala語言編寫,之后成為 Apache 項目的一部分。Kafka 是一個分布式的,可劃分的,多訂閱者,冗余備份的持久性的日志服務。它主要用于處理活躍的流式數據。
Kafka的特點
同時為發布和訂閱提供高吞吐量。據了解,Kafka 每秒可以生產約 25 萬消息(50 MB),每秒處理 55 萬消息(110 MB)。
可進行持久化操作。將消息持久化到磁盤,因此可用于批量消費,例如 ETL,以及實時應用程序。通過將數據持久化到硬盤以及 replication 防止數據丟失。
分布式系統,易于向外擴展。所有的 producer、broker 和 consumer 都會有多個,均為分布式的。無需停機即可擴展機器。
消息被處理的狀態是在 consumer 端維護,而不是由 server 端維護。當失敗時能自動平衡。
支持 online 和 offline 的場景。