Esper复杂事务处理引擎一小时入门

Esper复杂事务处理引擎一小时入门

什么是Esper

想要认识Esper,先要了解[CEP(Complex Event Processing)][1],引用里给出的是知乎的一个回答,笔者感觉比一些官方的、百科的解答更为贴切易懂。
Esper就是CEP的一个java的开源实现。
Esper官方网址:http://www.espertech.com/

Esper的特性

在探究Esper特性之前,我们先总结一下复杂事件的特性:

  • 类型多样,不易建模
  • 场景不可控,随时可能新增场景
  • 逻辑复杂,难于描述
  • 既需要汇总规律,又不准数据落地。

    场景举例:
    股市实时K线图、网站恶意操作监测、用户登入控制、实时数据统计等

针对复杂事件的这些特性,Esper具有相应的性质:

  • 实时响应
  • 极速扩展新事件
  • 语法描述能力强大、类sql

事件和处理流程

一个基本的例子

引用Esper就不说了,直接搜maven esper,添加以来就好。

/*定义事件模型*/
public class Coder {private String Name;private int age;private double Salary;//省略getter/setter}
//
public class HelloEsperApp {public static void main(String[] args) throws InterruptedException {        EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider();        EPAdministrator admin = epService.getEPAdministrator();  //指定事件模型String coderModel = Coder.class.getName();  //描述复杂事件String epl = "select name,salary,age from " + coderModel;EPStatement state = admin.createEPL(epl);   //添加事后处理state.addListener(new HelloEsperListener());        EPRuntime runtime = epService.getEPRuntime();  //模拟事件发生for (int i = 0; i < 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部