【发布时间】:2014-05-13 19:08:57
【问题描述】:
现在 Storm Spouts 有一个 open 方法来配置它们,而 Bolts 有一个 prepare 方法。有什么办法可以让所有 Spout 实例等待 Bolts 上的所有准备方法完成?
我有一个案例,我想动态地将一些配置信息传递给螺栓(因为这个配置信息一直在变化)。我在某些地方读到我们应该使用 Zookeeper 或内存中的键值存储(如 redis)来执行此操作。不过我担心的是,如果 Bolts 还没有准备好处理来自 Spout 的数据,并且 Spout 开始发出元组,会发生什么?有没有办法让 Spout 等待 Bolts 的更新,说他们准备好了?
【问题讨论】:
-
一种选择是在spout的nextTuple()方法中使用storm的Utils类,Utils.sleep(ms)只在第一次使用(不是针对每个元组)。
标签: apache-storm