如何使用 esper 进行横向扩展?
我一直在研究 Esper(和 Storm)的流处理。Esper 似乎完全符合我的要求。即滚动意味着、中位数、复杂查询等......但有一件事让我想知道。
如何使用 Esper 扩展到多个实例?
据我了解,Storm 负责分布式处理,但使用 Esper 则需要你自己处理。
在可预见的未来,我不需要这样做,但随着我们的增长,我们的数据量也会增加,然后也需要横向扩展。我们很可能会部署在 Amazon EC2 中。
在将数据发送到我的 Esper 应用程序之前,我是否需要运行多个服务器并对数据进行分片?
有没有更优雅的处理方式?
-萨哈尔
I've been looking at Esper (and Storm) for stream processing.. Esper seems to do exactly what I want.. i.e. roling means, medians, complex queries, etc... but one thing has me wondering.
How would I scale out to multiple instances with Esper?
As far as I understand, Storm handles distributed processing, but with Esper you're on your own.
I wouldn't need to do it for the forseable future, but as we grow, so would our data volumes, would then need to scale out as well. Most likely we would be deployed in Amazon EC2.
Would I need to run multiple servers and shard data before sending them to my Esper application?
Is there a more graceful way of handling it?
-Sajal
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以在 Bolt 中运行 Esper 实例,这意味着 Storm 将处理元组/事件联合,而 Esper 将处理在给定 Bolt 中接收到的事件的 CEP。
这里有一些关于将 Esper 嵌入到 Storm Bolt 中的代码和信息:
http://tomdzk.wordpress.com/2011/09/28/storm-esper/
然而...
您需要有一个用例,支持处理数据子集的相对无状态的 Esper 引擎。
例如:您正在计算各城市的日平均气温。如果不使用基于城市字段的 shuffleGrouping 来分发元组,则每个 Esper Bolt 可能会在每个城市拥有不同的数据集。
基本上,在采用该架构之前,请务必先了解数据在 Storm 拓扑中的分布情况。
You can run an Esper instance within a bolt, meaning that Storm will handle tuple/event federation, and Esper will handle the CEP on events it receives in a given bolt.
This has some code and information about embedding Esper in a Storm bolt:
http://tomdzk.wordpress.com/2011/09/28/storm-esper/
However...
You need to have a use case that supports relatively stateless Esper engines handling a subset of data.
For example: you are computing average daily temperature by city. If don't distribute your tuples using shuffleGrouping based on the city field, then each Esper bolt could have a different set of data per city.
Basically, be sure to read up on how data is distributed in a Storm topology before committing to this architecture.
从您的问题来看,似乎 EsperHA 相关?你看过那个吗?
From your question, it seems EsperHA is relevant? Have you looked at that?