本文說明了如何使用 storm 從 kestrel 叢集中消費資料。
每個隊列均嚴格遵循先入先出的規則。為了提高服務性能,資料都是緩存在系統記憶體中的;不過,隻有開頭的 128mb 是儲存在記憶體中的。在服務停止的時候,隊列的狀态會儲存到一個日志檔案中。
kestrel 具有 * 快速 * 小巧 * 持久 * 可靠 等特點。
** 向 kestrel 中添加資料
此方法從一個隊列中取出一個資料,但并不把該資料從隊列中删除:
此方法會從隊列中取出并移除資料:
下面的程式可以向本地 kestrel 服務的一個 sentence_queue 隊列中連續添加句子,這也是我們的最後一個程式。
可以在指令行視窗中輸入一個右中括号 <code>]</code> 并回車來停止程式。
首先,以生産模式或者開發者模式啟動你的本地 kestrel 服務。
然後,等待大約 5 秒鐘以防出現網絡連接配接異常。
現在可以運作向隊列中添加資料的程式,并啟動 storm 拓撲。程式啟動的順序并不重要。
如果你以 topology_debug 模式運作拓撲你會觀察到拓撲中 tuple 發送的細節資訊。