是否可以在一个拓扑中创建多个喷口?怎么样?

时间:2014-06-01 08:29:59

标签: apache-storm apache-kafka

我有两个主题BACKUPDATA和LIVEDATA。 什么是阅读这两个主题的最佳解决方案?    1.两种不同的拓扑结构?    2.一个有两个喷口的拓扑结构? 我尝试了两种不同的拓扑结构,但风暴没有将插槽分配给第二种拓扑结构。

1 个答案:

答案 0 :(得分:4)

是的,您可以在拓扑中使用多个spout。

builder.setSpout("kafka-spout1", new KafkaSpout(spoutConf1), 1);
builder.setSpout("kafka-spout2", new KafkaSpout(spoutConf2), 1);

嗯,配置取决于您处理数据的方式。

如果为两者创建单独的拓扑,那么一个拓扑故障问题不会影响另一个,但它会影响运行成本。

如果是具有多个喷口的单一拓扑,两者都会受到其他故障的影响。如果您想同时为这两个主题添加数据,则应使用多个喷口。