选择Drools Fusion还是Esper

经过一段时间的尝试,决定放弃Drools Fusion而采用Esper开发CEP应用。

放弃Drools Fusion的主要原因:

  • Drools Fusion资料少,社区活跃度并不高。
    虽然有不少资料介绍Drools,但是作为CEP或者流处理系统Drools Fusion的资料并不多。
  • 如果需要处理多个数据流和滑动窗口,规则写起来并不容易。
  • 官方Drools的代码混杂不同版本的代码,使用起来并不容易。官方文档写的篇幅很长,但是不怎么解决问题。
  • 应用调试不方便。据说支持Eclipse设置断点,但是我用的是IntelliJ IDEA。

相对,采用Esper的原因:

  • 能够实现滑动窗口、不同数据流join、聚合等计算,学习成本不算很高。
  • 简单的运行和开发环境,不需要引入Drools/drl堆栈,完全基于Java实现。
  • 无论中文、英文社区,或者官方Esper文档都很完善。问题解决方便。

Esper让人遗憾的地方,没有像Hibernate那样与IDE集成很好。绝大部分场景,应该也不需要写特别复杂的Streaming处理EPL。

Leave a reply:

Your email address will not be published.

Site Footer