由于storm的核心是clojure編寫的(不過大部分的拓展工作都是java編寫的),為我們了解它的實作帶來了一定的困難,好在大部分情況下storm都比較穩定,當然我們也在盡力熟悉clojure的世界。我們在使用storm時通常都是選擇java語言開發應用程式。
在淘寶,storm被廣泛用來進行實時日志處理,出現在實時統計、實時風控、實時推薦等場景中。一般來說,我們從類kafka的metaQ或者基于hbase的timetunnel中讀取實時日志消息,經過一系列處理,最終将處理結果寫入到一個分布式存儲中,提供給應用程式通路。我們每天的實時消息量從幾百萬到幾十億不等,資料總量達到TB級。對于我們來說,storm往往會配合分布式存儲服務一起使用。在我們正在進行的個性化搜尋實時分析項目中,就使用了timetunnel + hbase + storm + ups的架構,每天處理幾十億的使用者日志資訊,從使用者行為發生到完成分析延遲在秒級。