1.消息
kafka更好的替換傳統(tǒng)的消息系統(tǒng),消息系統(tǒng)被用于各種場景(解耦數(shù)據(jù)生產(chǎn)者,緩存未處理的消息,等),與大多數(shù)消息系統(tǒng)比較,kafka有更好的吞吐量,內(nèi)置分區(qū),副本和故障轉(zhuǎn)移,這有利于處理大規(guī)模的消息。
根據(jù)我們的經(jīng)驗,消息往往用于較低的吞吐量,但需要低的端到端延遲,并需要提供強(qiáng)大的耐用性的保證。
在這一領(lǐng)域的kafka比得上傳統(tǒng)的消息系統(tǒng),如的ActiveMQ或RabbitMQ的。
2.網(wǎng)站活動追蹤
kafka原本的使用場景:用戶的活動追蹤,網(wǎng)站的活動(網(wǎng)頁游覽,搜索或其他用戶的操作信息)發(fā)布到不同的話題中心,這些消息可實時處理,實時監(jiān)測,也可加載到Hadoop或離線處理數(shù)據(jù)倉庫。
每個用戶頁面視圖都會產(chǎn)生非常高的量。
3.指標(biāo)
kafka也常常用于監(jiān)測數(shù)據(jù)。分布式應(yīng)用程序生成的統(tǒng)計數(shù)據(jù)集中聚合。
4.日志聚合
使用kafka代替一個日志聚合的解決方案。
5.流處理
kafka消息處理包含多個階段。其中原始輸入數(shù)據(jù)是從kafka主題消費的,然后匯總,豐富,或者以其他的方式處理轉(zhuǎn)化為新主題,例如,一個推薦新聞文章,文章內(nèi)容可能從“articles”主題獲??;然后進(jìn)一步處理內(nèi)容,得到一個處理后的新內(nèi)容,最后推薦給用戶。這種處理是基于單個主題的實時數(shù)據(jù)流。從0.10.0.0開始,輕量,但功能強(qiáng)大的流處理,就進(jìn)行這樣的數(shù)據(jù)處理了。
除了Kafka Streams,還有Apache Storm和Apache Samza可選擇。
6.事件采集
事件采集是一種應(yīng)用程序的設(shè)計風(fēng)格,其中狀態(tài)的變化根據(jù)時間的順序記錄下來,kafka支持這種非常大的存儲日志數(shù)據(jù)的場景。
7.提交日志
kafka可以作為一種分布式的外部提交日志,日志幫助節(jié)點之間復(fù)制數(shù)據(jù),并作為失敗的節(jié)點來恢復(fù)數(shù)據(jù)重新同步,kafka的日志壓縮功能很好的支持這種用法,這種用法類似于Apacha BookKeeper項目。