我的目标是与发布者和使用者一起创建一个分布式应用程序,在其中我使用CEP处理数据流,以生成事件使用者的事件通知。
Esper和Apache Storm有什么区别?
我能否实现Storm只使用Esper的功能,以及何时应该考虑将Esper与Storm集成?
我很困惑,我以为Esper提供了同样的功能。
发布于 2017-03-07 10:16:50
Storm是一个分布式的实时计算系统,通常可以用于任何目的,而Esper是一个事件流处理和事件相关引擎(复杂事件处理),因此Esper更为具体。下面是它们的一些用例:
当您在它们之间进行选择时,还可以考虑更多的标准:
发布于 2017-03-07 19:42:55
Storm提供了运行代码片段的抽象,并提供了价值,用于管理分发方面,如员工、管理、重新启动。您插入的任何代码都是您编写代码的工作,您的代码必须担心它如何以及在何处保存状态,例如计数或其他派生信息。风暴通常用于提取、转换、装载或吞食流入某一商店的溪流.
Esper通过提供符合SQL92的“事件处理语言(EPL)”,为检测事件序列之间的情况提供了抽象。它是一种富于表现力、简洁和可扩展的方法,可以在不编写任何代码或很少编写代码的情况下检测内容。可以动态地注入和管理EPL,这样您就可以在运行时实现添加和删除规则,而无需重新启动。如果要用代码来完成这一任务,则始终必须重新启动JVM/workers/拓扑。
Esper通过直接与Kafka流集成具有水平可伸缩性。但是,目前这方面的代码不是开源的。
发布于 2017-03-07 11:30:17
在我看来,storm可以提供一个很好的资源管理,比如负载平衡,机器停机时自动重新启动,添加机器或任务等更简单的方法,如果只使用esper,就必须自己处理。
https://stackoverflow.com/questions/42643505
复制相似问题