1. 程式人生 > >strom學習總結——我從三個緯度開始:maven工程、徐明明部落格和應用場景。

strom學習總結——我從三個緯度開始:maven工程、徐明明部落格和應用場景。

關於storm學習,我從三個緯度開始:maven工程、徐明明部落格和應用場景。


1、maven工程

pom檔案配置

<repositories> 
<repository> 
<id>central</id> 
<name>Maven Repository Switchboard</name> 
<layout>default</layout> 
<url>http://maven.oschina.net/content/groups/public/</url> 
<snapshots> 
<enabled>false</enabled> 
</snapshots> 
</repository> 
<repository> 

2、徐明明部落格

Twitter Storm入門
http://xumingming.sinaapp.com/138/
在Storm的叢集裡面有兩種節點: 控制節點(master node)和工作節點(worker node)。
控制節點上面執行一個後臺程式:Nimbus, 它的作用類似Hadoop裡面的JobTracker。Nimbus負責在叢集裡面分佈程式碼,分配工作給機器, 並且監控狀態。
每一個工作節點上面執行一個叫做Supervisor的節點。Supervisor會監聽分配給它那臺機器的工作,根據需要 啟動/關閉工作程序。每一個工作程序執行一個Topology的一個子集;一個執行的Topology由執行在很多機器上的很多工作程序組成。
一個topology就是一個計算節點所組成的圖。Topology裡面的每個處理節點都包含處理邏輯, 而節點之間的連線則表示資料流動的方向。


3、應用場景
1、趨勢資訊
Nathan Marz 提供了在 Twitter 中使用 Storm 的大量示例。一個最有趣的示例是生成趨勢資訊。Twitter 從海量的推文中提取所浮現的趨勢,並在本地和國家級別維護它們。這意味著當一個案例開始浮現時,Twitter 的趨勢主題演算法就會實時識別該主題。
2、風險監控(警報分析)
銀聯實時計算每筆交易是否有洗錢嫌疑,較傳統處理方法,效能上有了較大突破。一旦出現報警,基於該技術,首先對系統收到報警資訊進行處理、合併,憑此精確定位引起報警的問題最終來源(根因分析)。
 3、運用於廣告投放的使用者興趣分析
為了更加精準投放廣告,阿里媽媽(阿里媽媽是阿里巴巴集團專門負責網際網路廣告業務的子公司)後臺計算引擎需要維護每個使用者的興趣點(理想狀態是,你對什麼感興趣,就向你投放哪類廣告)。使用者興趣主要基於使用者的歷史行為、使用者的實時查詢、使用者的實時點選、使用者的地理資訊而得,其中實時查詢、實時點選等使用者行為都是實時資料。考慮到系統的實時性,阿里媽媽使用Storm維護使用者興趣資料,並在此基礎上進行受眾定向的廣告投放。