我一直在寻找Esper(和Storm)进行流处理.. Esper似乎完全按照我的意愿行事..即roling意味着,中位数,复杂查询等......但有一件事让我感到疑惑。< / p>
如何使用Esper扩展到多个实例?
据我了解,Storm处理分布式处理,但是使用Esper,你可以独立处理。
我不需要为可能的未来做到这一点,但随着我们的成长,我们的数据量也将需要扩展。我们很可能会部署在Amazon EC2中。
在将它们发送到我的Esper应用程序之前,是否需要运行多个服务器和分片数据?
是否有更优雅的方式来处理它?</ p>
-Sajal
答案 0 :(得分:9)
你可以在一个bolt中运行一个Esper实例,这意味着Storm将处理元组/事件联合,而Esper将处理它在给定bolt中接收的事件的CEP。
这里有一些关于在Storm bolt中嵌入Esper的代码和信息: http://tomdzk.wordpress.com/2011/09/28/storm-esper/
...然而 您需要一个支持相对无状态Esper引擎处理数据子集的用例。
例如:您按城市计算每日平均温度。如果不使用基于城市字段的shuffleGrouping分发您的元组,则每个Esper螺栓可以为每个城市提供不同的数据集。
基本上,请务必在提交此体系结构之前了解数据在Storm拓扑中的分布情况。
答案 1 :(得分:0)
从您的问题来看,似乎EsperHA是相关的?你看过那个吗?
EsperHA是零停机ESP / CEP事件的完整解决方案 处理。它将Esper与本地内存缓存相结合,具有弹性 溢出到磁盘或数据库和群集配置与热 备份功能。