Apache Storm可以处理多少个螺栓?

时间:2016-05-30 11:01:32

标签: java apache-storm

以下是我的示例风暴拓扑

    TopologyBuilder builder = new TopologyBuilder();

    builder.setSpout("EventSpout", new TenderEventSpout2(), 1);

    builder.setBolt("CleanseLoadBolt", new CleanseLoadBolt(), 1).shuffleGrouping("EventSpout");

    builder.setBolt("EventGeneratorBolt", new EventGeneratorBolt(), 1).shuffleGrouping("CleanseLoadBolt");

    builder.setBolt("Event1Bolt", new Event1Bolt(), 1)
        .shuffleGrouping("EventGeneratorBolt","stream1");

    builder.setBolt("Event2Bolt", new Event2Bolt(), 1)
        .shuffleGrouping("EventGeneratorBolt","stream2");

    builder.setBolt("Event3Bolt", new Event3Bolt(), 1)
        .shuffleGrouping("EventGeneratorBolt","stream3");

    builder.setBolt("Rule1Bolt", new Rule1Bolt(), 1)
        .shuffleGrouping("Event1Bolt","stream1")
        .shuffleGrouping("Event3Bolt","stream1");

    builder.setBolt("Rule2Bolt", new Rule2Bolt(), 1)
        .shuffleGrouping("Event1Bolt","stream2")
        .shuffleGrouping("Event2Bolt","stream2");

    builder.setBolt("DBBolt", new DBBolt(), 1)
        .shuffleGrouping("Rule1Bolt")
        .shuffleGrouping("Rule2Bolt");//.shuffleGrouping("EventProcessorBolt");

    return builder.createTopology();`

目前,我有3个活动螺栓和2个规则螺栓。但根据我的要求,事件和规则也可能超过20。这是设计这样的系统的好方法吗?或者有没有更好的方法来设计风暴?

1 个答案:

答案 0 :(得分:1)

目前在CakeLabs我们正在使用40个螺栓执行Storm类型,并且它在生产中运行超过1年半。 但性能将取决于风暴群的大小。 如果部署40个螺栓群集,则需要4节点风暴群才能获得最佳性能。

40个螺栓 - > 80位执行者 - > 8名工人 - > 4台服务器