我们有一个风暴拓扑,我们在其中配置了一个喷嘴和两个螺栓。 Spout不断从数据库中查询数据,并将它发送给第一个螺栓进行一些处理。第一个螺栓执行一些处理并将元组发送到第二个螺栓,该螺栓调用第三方Web服务并发送数据。所以,在一段时间后发生了什么,最后一个螺栓没有得到任何元组,如果我们重新启动拓扑,它工作正常。这里只有最后一个螺栓出现问题。其他喷口和第一个螺栓运行良好,我不使用acking框架。在这种情况下,我只配置了一名工人。阿帕奇风暴螺栓任务在一段时间后没有收到消息
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("messageListenrSpout", new MessageListenerSpout(), 1);
builder.setBolt("processorBolt", new ProcessorBolt(), 20).shuffleGrouping("messageListenrSpout");
builder.setBolt("notifierBolt", new NotifierBolt(),40).shuffleGrouping("processorBolt");
Config conf = new Config();
conf.put(Config.TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS, 10000);
//conf.setMessageTimeoutSecs(600);
conf.setDebug(true);
StormSubmitter.submitTopology(TOPOLOGY, conf, builder.createTopology());
嗨克里斯,我没有使用acking框架。风暴还会超时吗?如果邮件超时,我们可以在哪里检查日志。我已经给出了最后一个螺栓的30个平行度提示。 –