兩個部分:建立拓撲,以及使用其他語言實作 spouts 與 bolts
由于 storm 的拓撲都是基于 thrift 結構的,是以使用其他語言建立拓撲也是一件很容易的事情
使用其他語言實作的 spouts 與 bolts 稱為“多語言元件”(multilang components)或者“脫殼”(shelling)
thrift 結構允許你定義以一個程式和腳本的方式定義多語言元件(例如,可以使用 python 程式和檔案實作 bolt)
在 java 中,需要覆寫 shellbolt 或者 shellspout 來建立多語言元件
注意,輸出域是在 thrift 結構中聲明的,是以在 java 中你需要這樣建立多語言元件:
在 java 中聲明域,并通過在 shellbolt 的構造器中指定輸出域來處理其他語言的代碼
多語言元件在 stdin/stdout 中使用 json 消息來和子程序通信
已經實作了 ruby,python 等語言的相關協定,例如,python 支援 emit、anchor、ack 與 log等操作
“storm shell” 指令簡化了構造 jar 包與向 nimbus 上傳檔案的過程
建構 jar 檔案并将其上傳
使用 nimbus 的 host/port 以及 jar 檔案的 id 來調用你的程式