2016-05-17 68 views
2

我有一個用例,我想等待一個噴口發出並開始從其他噴口上聆聽kafka。這在Storm中可能嗎?如何讓噴嘴等待另一個噴嘴?

例如:嘴的做一些處理,併發出,一旦我得到消息,壺嘴乙應該開始從偏移監聽卡夫卡的話題就在上次運行停止,併發出一些其他螺栓。

任何幫助,將不勝感激。

回答

0

只要選擇嘴的如何與噴B.通信,您可以:

  1. 使用另一個卡夫卡的話題。 Spout A完成後會向特定主題生成消息,Spout B在開始閱讀主題之前會等待該主題的消息。

  2. 使用寫入動物園管理員(或HDFS,HBase的,等等)一個標誌,表示當我說脫粒機乙等待,其nextTuple()方法首先測試看到嘴的已完成

來自A(上述)的通信是否已經發生,並且直到它返回而沒有采取進一步行動就直接返回。請記住,您創建和提交拓撲的代碼也可以初始化標誌(如果您在上面做2)或者可以創建唯一的消息(對於上面的1),並將其存儲在配置中以傳遞給Spouts A和B.

+0

這是否合理? –