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