8

我一直在关注 Esper(和 Storm)的流处理。Esper 似乎完全符合我的要求。即滚动意味着、中位数、复杂查询等......但有一件事让我想知道。

如何使用 Esper 扩展到多个实例?

据我了解,Storm 处理分布式处理,但使用 Esper,您就得靠自己了。

在可预见的未来,我不需要这样做,但随着我们的增长,我们的数据量也会随之增长,然后也需要向外扩展。我们很可能会部署在 Amazon EC2 中。

在将它们发送到我的 Esper 应用程序之前,我是否需要运行多个服务器和分片数据?

有没有更优雅的处理方式?

-萨哈尔

4

2 回答 2

9

您可以在 Bolt 中运行 Esper 实例,这意味着 Storm 将处理元组/事件联合,而 Esper 将处理它在给定 Bolt 中接收到的事件的 CEP。

这有一些关于在 Storm 螺栓中嵌入 Esper 的代码和信息:http: //tomdzk.wordpress.com/2011/09/28/storm-esper/

但是……您需要有一个用例来支持处理数据子集的相对无状态的 Esper 引擎。

例如:您正在按城市计算平均每日温度。如果不使用基于 city 字段的 shuffleGrouping 分配元组,那么每个 Esper Bolt 可能在每个城市都有不同的数据集。

基本上,在提交此架构之前,请务必阅读数据在 Storm 拓扑中的分布方式。

于 2012-03-19T19:50:57.230 回答
0

从您的问题来看, EsperHA似乎是相关的?你看过那个吗?

EsperHA 是用于零停机 ESP/CEP 事件处理的完整解决方案。它将 Esper 与本地内存缓存、对磁盘或数据库的弹性溢出以及具有热备份功能的集群配置相结合。

于 2012-03-29T20:41:23.723 回答