来自喷口的Storm Tick Tuple

问题描述 投票:1回答:2

我想配置我的spout在不同的流上发出2个不同频率的tick元组。我的问题如下:

  1. 我知道如何使用螺栓完成这项工作。但是,在一个spout上,tick元组会在每个tick上调用下一个Tuple方法吗?
  2. 如何确定调用tick的频率?含义,我在配置对象中配置的时间的实际值?
apache-storm
2个回答
3
投票

只有螺栓可以接收刻度元组。 Spouts只能发出元组。

我假设你试图在你的鲸鱼喷水中经常“读”,以便发出一个新的元组。

例如,在读取之间睡50毫秒:

@Override
public void nextTuple() {
   try {
      String message = _mqClient.getMessage();
      if (message != null) {
         _collector.emit(new Values(message));
      } 
      // sleep for 50 milliseconds
      Utils.sleep(50);
   } catch (Exception e) {
      _collector.reportError(e);
      LOG.error("MQ spout error {}", e);
   }
}

-1
投票

也许这可以帮助你:

https://github.com/ptgoetz/storm-signals

Storm-Signals旨在提供一种向风暴拓扑中的组件(spouts / bolt)发送消息(“信号”)的方法,否则这些消息不可寻址。

风暴拓扑可以被认为是静态的,因为对拓扑行为的修改需要重新部署。 Storm-Signals提供了一种在运行时修改拓扑行为的简单方法,无需重新部署。

© www.soinside.com 2019 - 2024. All rights reserved.