用于部署单个节点的Storm替代方案

时间:2015-10-12 17:57:18

标签: python apache-storm

我正在创建一个应用程序,并希望它可以使用Storm进行扩展。问题是,大多数用户实际上会在一个节点中运行它。

我不认为这些用户必须在单个节点中安装Storm才能使用该应用程序。有没有办法让应用程序只需要Storm,如果用户需要在多台机器上运行它而不必重写部分应用程序?也许是图书馆?

我知道我总是可以编写一些特定于Storm环境中运行的代码并让用户决定,但我正在寻找一种更优雅的方法。如果没有解决方案,我正在考虑编写一个“代理库”来决定以Storm风格或单个节点使用螺栓的天气。

我正在使用Python,但如果解决方案需要,我可以使用其他语言。

1 个答案:

答案 0 :(得分:1)

嗯......你的问题有点遗传,难以回答。我个人会选择Storm,因为:

  1. 它使代码更简单。
  2. 安装Storm并不太难。
  3. 对于非并行执行,您可以使用Storm LocalCluster在单个JVM上执行Storm程序,因此不需要设置群集。但是,请注意LocalCluster是为测试代码而设计的,而不是用于生产(如果我没有错 - 也许你应该仔细检查其他来源进行验证)。不确定它长期运行的稳定性(当然,没有容错性 - 但是,如果你实现自己的本地应用程序或#34;代理库",你可能没有容错其一)。
  4. 编写"代理库"这不是一个坏主意。但是不要低估这种方法的复杂性!以完全兼容的方式构建它将变得非常困难。