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