【问题标题】:Lamina vs Storm拉米纳 vs 风暴
【发布时间】:2013-06-17 08:07:19
【问题描述】:

我正在设计一个原型实时监视器,用于处理相当大量(>30G/天)的流式数字数据。我想用 Clojure 写这个,因为这种语言似乎很适合这种“观察者 + 状态机”系统,这可能最终会成为。

我为框架找到的两个主要候选者是 Lamina 和 Storm。还有 Riemann 和 Pulse,但前者似乎更像是一个完整的解决方案而不是一个框架,我宁愿不承诺最终设计; Pulse 的 repo 看起来有点无人维护?

我想知道的是;这两个项目针对什么样的数据和工作流程进行了优化? Storm 似乎更成熟,但 Lamina 似乎更易于组合和“Clojureic”(我的背景是 Python,所以我倾向于给它很高的评价)。

我从网上阅读的发现:

  • Storm 似乎专注于大数据(流),核心是带有 Clojure DSL 的纯 Java。它似乎为许多现有数据源预先构建了处理程序。

  • Lamina 更像是一个轻量级、可重用的组件,它执行 Clojure 对抽象进行编码的事情,这意味着它可以是 reused as a base for other eventing systems。数据源需要在代码中处理。

  • 两者都有一组有用的聚合/拆分/计算库函数开箱即用。 Lamina 的 graphviz 集成很不错。

【问题讨论】:

    标签: events clojure apache-storm stream-processing lamina-clojure


    【解决方案1】:

    Storm 可能不是一个糟糕的选择,但“每天超过 30GB”的数字数据不是大数据,而是微小数据。任何半现代计算机都可以在一个带有 lamina 的节点上轻松处理这么多数据。无论如何,您可能都想使用 Storm,这样一旦您进入需要更多服务器的领域,您就可以轻松扩展,但我想在设置 Storm 时会有一些初始摩擦(以及维护集群的一些持续摩擦) ,如果您永远不必扩大规模,这将是浪费。

    【讨论】:

      【解决方案2】:

      Storm 包含集群管理和流中故障节点的处理,因为它被设计为“类似于 Hadoop,但用于流式传输”,据我了解,您的需求似乎更接近您的用例。

      【讨论】:

      • 它确实提供了很多捆绑的东西,所以我要试一试,看看它是否矫枉过正。 Lamina,从我的修补来看,似乎有点太低级了,虽然非常流线型和优雅。谢谢!
      【解决方案3】:

      Lamina 似乎是一个不错的选择,但它似乎完全缺乏 Storm 的杀手级功能——集群计算管理。 Storm 集群将负责将计算分布到节点集群中的大部分繁琐工作,只要您将其置于 Storm 框架中,您就可以只专注于业务逻辑。据我所知,Lamina 提供了一种组织计算的好方法,但是如果需要,您必须处理扩展计算的所有细节。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-10
        • 2011-11-23
        • 2015-01-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多