我正在创建一个应用程序,并希望它可以使用Storm进行扩展。问题是,大多数用户实际上会在一个节点中运行它。
我不认为这些用户必须在单个节点中安装Storm才能使用该应用程序。有没有办法让应用程序只需要Storm,如果用户需要在多台机器上运行它而不必重写部分应用程序?也许是图书馆?
我知道我总是可以编写一些特定于Storm环境中运行的代码并让用户决定,但我正在寻找一种更优雅的方法。如果没有解决方案,我正在考虑编写一个“代理库”来决定以Storm风格或单个节点使用螺栓的天气。
我正在使用Python,但如果解决方案需要,我可以使用其他语言。
答案 0 :(得分:1)
LocalCluster
在单个JVM上执行Storm程序,因此不需要设置群集。但是,请注意LocalCluster
是为测试代码而设计的,而不是用于生产(如果我没有错 - 也许你应该仔细检查其他来源进行验证)。不确定它长期运行的稳定性(当然,没有容错性 - 但是,如果你实现自己的本地应用程序或#34;代理库",你可能没有容错其一)。 编写"代理库"这不是一个坏主意。但是不要低估这种方法的复杂性!以完全兼容的方式构建它将变得非常困难。