首頁技術文章正文

Kafka的應用場景有哪些?

更新時間:2022-07-25 來源:黑馬程序員 瀏覽量:

1. 消息

kafka更好的替換傳統的消息系統,消息系統被用于各種場景,與大多數消息系統比較kafka有更好的吞吐量內置分區(qū),副本和故障轉移,這有利于處理大規(guī)模的消息。

根據我們的經驗消息往往用于較低的吞吐量,但需要低的端到端延遲并需要提供強大的耐用性的保證。在這一領域的kafka比得上傳統的消息系統,如ActiveMQ或RabbitMQ等。

2. 網站活動追蹤

kafka原本的使用場景是用戶的活動追蹤,網站的活動(網頁游覽,搜索或其他用戶的操作信息)發(fā)布到不同的話題中心,這些消息可實時處理實時監(jiān)測也可加載到Hadoop或離線處理數據倉庫。

3. 指標

kafka也常常用于監(jiān)測數據,分布式應用程序生成的統計數據集中聚合。

4. 日志聚合

許多人使用Kafka作為日志聚合解決方案的替代品。日志聚合通常從服務器中收集物理日志文件,并將它們放在中央位置(可能是文件服務器或HDFS)進行處理。Kafka抽象出文件的細節(jié),并將日志或事件數據更清晰地抽象為消息流。這允許更低延遲的處理并更容易支持多個數據源和分布式數據消費。

5. 流處理

kafka中消息處理一般包含多個階段。其中原始輸入數據是從kafka主題消費的,然后匯總,豐富,或者以其他的方式處理轉化為新主題,例如,一個推薦新聞文章,文章內容可能從“articles”主題獲??;然后進一步處理內容,得到一個處理后的新內容,最后推薦給用戶。這種處理是基于單個主題的實時數據流。從0.10.0.0開始,輕量,但功能強大的流處理,就可以這樣進行數據處理了。

除了Kafka Streams還有ApacheStorm和Apache Samza可選擇。

6. 事件采集

事件采集是一種應用程序的設計風格,其中狀態(tài)的變化根據時間的順序記錄下來,kafka支持這種非常大的存儲日志數據的場景。

7. 提交日志

kafka可以作為一種分布式的外部日志,可幫助節(jié)點之間復制數據,并作為失敗的節(jié)點來恢復數據重新同步,kafka的日志壓縮功能很好的支持這種用法,這種用法類似于Apacha BookKeeper項目。



分享到:
在線咨詢 我要報名
和我們在線交談!