現在大數據中應用較多的有Hadoop,Hive,Flume,Kafka,Storm,Spark這些技術。那麼我今天給大家分享一下Storm和Kafka這兩個技術。
Storm是Twitter開源的一個分佈式的實時大數據計算系統。Kafka是一個分佈式、支持分區的(partition)、多副本的(replica),基於zookeeper協調的分佈式消息系統。
下面就從特點和應用場景進行說明
Kafka特點
同時爲發佈和訂閱提供高吞吐量。
持久化操作。將消息持久化到磁盤,因此可用於批量消費。
分佈式系統,易於向外擴展。
Storm的特點
簡單的編程模型。可以使用各種編程語言。
容錯性。水平擴展。
可靠的消息處理。快速。
本地模式。
Kafka的應用場景 大連婦科醫院哪裏好 http://yyk.39.net/hospital/f9a8f_detail.html
消息隊列。與其它消息系統來比,Kafka有更好的吞吐量,內置的分區,冗餘及容錯性,這讓Kafka成爲了一個很好的大規模消息處理應用的解決方案。
行爲跟蹤。Kafka的另一個應用場景是跟蹤用戶瀏覽頁面、搜索及其他行爲,以發佈-訂閱的模式實時記錄到對應的topic裏。那麼這些結果被訂閱者拿到後,就可以做進一步的實時處理,或實時監控,或放到hadoop/離線數據倉庫裏處理。
元信息監控。
流處理。這個場景比較多。保存收集流數據,以提供之後對接的Storm或其他流式計算框架進行處理。
持久性日誌(commit log)。Kafka可以爲一種外部的持久性日誌的分佈式系統提供服務。這種日誌可以在節點間備份數據,併爲故障節點數據回覆提供一種重新同步的機制。
Storm應用場景
數據流處理,持續計算,分佈式遠程過程調用,求TopN,推薦系統和熱度統計等。