2016-05-30 5 views
1

Folgende ist meine Probe Sturm Topologie,Wie viele Schrauben kann Apache Storm handhaben?

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();` 

Derzeit habe ich 3 Ereignis Schrauben und 2-Regel Schrauben. Aber gemäß meiner Anforderung könnte es für Ereignisse und Regeln auch über 20 hinausgehen. Ist es ein guter Weg, solche Systeme zu entwerfen? Oder gibt es einen besseren Ansatz, dies im Sturm zu entwerfen?

+0

Storm kann diese Anzahl an Schrauben problemlos bewältigen. Es wird in größeren Produktionsclustern mit vielen hundert Knoten eingesetzt. –

+1

Diese Präsentation ist ein bisschen alt, hat aber gute Informationen http://www.slideshare.net/ptgoetz/scaling-apache-storm-strata-hadoopworld-2014 – YaRiK

Antwort

1

In CakeLabs führen wir derzeit Storm Typologien mit 40 Schrauben und es läuft in der Produktion mehr als 1 und Halbjahr. Die Leistung hängt jedoch von der Größe des Sturmclusters ab. Wenn Sie einen 40-Schrauben-Cluster bereitstellen, benötigen Sie einen 4-Knoten-Sturmcluster, um die beste Leistung zu erzielen.

40 Schrauben -> 80 Ausführende -> 8 Arbeiter -> 4 Server