【问题标题】:Is it possible to create multiple spouts in one topology? how?是否可以在一个拓扑中创建多个 spout?如何?
【发布时间】:2014-07-21 14:19:41
【问题描述】:

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

【问题讨论】:

  • 这实际上取决于您将如何处理这些数据(您是否需要来自当前两个主题的数据?)以及您将如何管理这些拓扑,以防您选择推出其中两个(可能会减少停机时间,因为一个拓扑的故障可能不会影响另一个拓扑的故障,但会增加管理成本)。

标签: apache-storm apache-kafka


【解决方案1】:

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

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

嗯,配置取决于您如何处理数据。

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

在具有多个 spout 的单一拓扑的情况下,两者都会受到相互故障的影响。如果你想同时合并来自两个主题的数据,你应该使用多个 spout。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    • 2023-03-18
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多