java - Apache Storm 可以处理多少个 bolt ?

标签 java apache-storm

以下是我的示例 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 个事件 bolt 和 2 个规则 bolt 。但根据我的要求,事件和规则也可能会超过20个。设计这样的系统是一个好方法吗?或者有没有更好的方法在 Storm 中设计这个?

最佳答案

CakeLabs目前,我们正在执行带有 40 个 bolt 的 Storm 类型,并已在生产中运行超过 1 年半。 但性能将取决于 Storm 集群的大小。 如果您部署 40 个 Bolt 集群,则需要 4 节点 Storm 集群才能获得最佳性能。

40 个 bolt -> 80 个执行程序 -> 8 个工作人员 -> 4 个服务器

关于java - Apache Storm 可以处理多少个 bolt ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37524037/

相关文章:

eclipse - 在 Maven/Eclipse 中运行 Storm Starter 项目

java - Java声音回放和数据图协调的预录文件

Java3D : Tutorials, 项目,通用 3D 编程

java - 用 Java 实现一个迷你摘要器

java - Storm Bolt 始终记录到worker.log

java - nextTuple() 在 Storm 上使用 BaseRichSpout 被无限次调用

java - Apache Storm - Scheme 和 MultiScheme 接口(interface)有什么区别?

java - 强制 Storm 使用 fat jar 依赖而不是类路径定义的依赖

java - Node sha256转换为java

java - Java 中的数据验证和扫描器