`
hongliangpan
  • 浏览: 320841 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

通过Esper探索事件驱动架构

阅读更多

通过Esper探索事件驱动架构

作者 Ian Roughley 译者 陈俊 发布于 2007年5月31日 下午11时59分

社区
Java
主题
消息传送
标签
事件流处理 ,
Esper ,
Java One

在Java One上Thomas Bernhardt和Alexandre Vasseur向我们解说了事件驱动应用服务器(Event Driven Application Server)的概念,并介绍了Esper项目

事件驱动应用服务器是一种新型的服务器,为每秒需要处理超过100,000个事件的服务器提供一个运行时和多种支撑基础设施服务(如传输、安全、事 件日志、高可靠性和连接器等)。除了事件处理以外,事件驱动服务器还可以将事件信息和长时间存在的数据(通常从关系数据库查询中获取)结合起来,以及在事 件流上执行临时的关联关系和匹配操作。

事件系统(Event System)存在两个概念,可使之与消息传送系统(Messaging System)区分开来:

  • 事件流处理(Event Stream Processing,ESP)——检测事件数据流,分析出那些符合条件的事件,然后通知监听器
  • 复杂事件处理(Complex Event Processing,CEP)——可以监察各事件间的模式

全功能的事件驱动服务器尚需数年时间方可实现,但现在开发者就可通过来自Codehaus的Esper,在独立应用、Java企业级应用和Spring应用中实现事件驱动架构。Esper的1.0版本(InfoQ曾报道过 )是在2006年6月发布的,它是一个轻量级、可嵌入的ESP和CEP的开源实现。

把Esper集成到独立应用中其实很简单。步骤如下:

  • 获取一个Esper引擎实例
  • 生成一个Statement(用Esper的查询语言)
  • 使用引擎注册这个Statement
  • 生成一个Listener(通过实现一个Java接口,该接口在Statement所得值为true会被触发),并把它跟Statement绑定起来

事件能以Java对象、XML或Map的形式展现,当它们通过系统的时候,系统会评估Statement的值,并执行Listener中的逻辑。

Esper查询语言提供了丰富的语法,这些语法可以表达复杂的临时逻辑,此外还有如下的一些特征:

  • 事件过滤
  • 滑动窗口和聚集(计算在最近30秒内所有报告的有意义的信息)
  • 分组窗口和对输出率的限制(获取最近10分钟内每个区域的信息数量)
  • 连接和外连接(允许事件流之间的连接)
  • 与历史数据或引用数据集成(访问关系型数据库)
  • 生成所有Statement都可以访问的虚拟流

虽然事件驱动应用服务器的面世尚需时日,Esper目前已经可以投入产品级应用了。你很简单就可以把Esper集成到你的应用中,将帮助你先人一着提供符合业务和客户在实时性方面需求的功能。

查看英文原文: Exploring Event Driven Architectures with Esper

分享到:
评论

相关推荐

    Esper事件驱动架构

    事件驱动架构(Event Driven Architecture,EDA)一个事件驱动框架(EDA)定义了一个设计和实现一个应用系统的方法学,在这个系统里事件可传输于松散耦合的组件和服务之间。一个事件驱动系统典型地由事件消费者和...

    事件驱动的应用架构和应用.pdf

    ### 事件驱动的应用架构和应用 #### 一、事件驱动应用架构概述 事件驱动架构(Event-Driven Architecture,简称EDA)是一种设计计算机软件系统的方法,它利用事件来触发应用程序之间的通信。这种架构的核心在于,...

    esper复杂事件处理引擎参考

    esper是一个用于复杂事件处理(Complex Event Processing, CEP)的框架,它在面向服务的架构(SOA)中扮演着不可或缺的角色。 首先,让我们了解什么是CEP以及事件流分析。CEP是一种特殊的处理模式,它能够从实时的、...

    java使用esper实现事件分批处理

    总的来说,Java 通过 Esper 实现事件分批处理是实时分析和决策支持的关键技术。理解 Esper 的核心概念,熟练掌握 EPL 语法,以及合理利用窗口和监听器机制,可以帮助我们构建出高效、智能的实时数据处理系统。在实际...

    事件驱动架构

    **事件驱动架构(Event-Driven Architecture,EDA)**是一种设计模式,在这种模式下,应用程序、系统和服务通过响应事件来进行通信和交互。事件驱动架构的核心是事件,即由系统组件生成的信息,这些信息表示了某个...

    Esper时间模型简介

    Esper的目标是针对实时事件驱动架构(EDA)。当Esper监测到事件流中又符合条件的时间发生时,即可触发Plain Old Java Objects(POJO)编写的自定义操作。当数百万数量级的事件同时发生时,我们不可能使用普通的关系...

    esper-demo-nuclear, 简单演示Esper复杂事件处理( CEP ) 引擎的一些特性.zip

    esper-demo-nuclear, 简单演示Esper复杂事件处理( CEP ) 引擎的一些特性 corsoft-esper-demo 博客可以在以下位置提供: http://www.adrianmilne.com/complex-event-processing-made-easy/还有关于 JavaLobby: h

    esper:Esper复杂事件处理,流SQL和事件序列分析

    Esper-Java的复杂事件处理,流SQL和事件系列分析Esper是用于复杂事件处理(CEP),流SQL和事件序列分析的组件,可作为Java用于Esper,对于.NET作为NEsper。 Esper的主页和文档位于 Esper和NEsper是根据GNU通用公共...

    Esper源码 Eclipse工程

    总的来说,通过分析Esper的源码,我们可以学习到事件驱动架构的设计和实现,理解如何利用CEP技术解决实时数据分析的问题。同时,Eclipse作为强大的集成开发环境,为Esper的源码学习和调试提供了便利,有助于提升...

    Esper 最新帮助文档

    Esper支持多种方式来插入事件,包括通过API调用、外部消息队列等。 **3.3 插入与移除流** 除了插入新事件之外,Esper还支持移除事件。这有助于维护事件流的一致性和完整性。 **3.4 过滤器与 where 子句** 过滤器...

    esper官方文档

    Esper通过其特有的事件驱动架构实现了这一目标,能够帮助开发者构建出能够快速响应变化的应用程序。 ##### CEP与关系数据库 尽管关系数据库在存储和查询静态数据方面非常有效,但对于处理大量实时数据流时却显得...

    esper_adapter_reference

    - **Input Adapter**:Spring JMS Input Adapter监听JMS队列或主题,将接收到的消息转换为Esper事件。 - **Output Adapter**:Spring JMS Output Adapter则负责将Esper处理后的事件重新包装成JMS消息,并发送到指定...

    esper简单入门之demo

    本文将通过一个简单的demo来引导初学者了解如何使用Esper进行事件处理。 首先,理解Esper的核心概念是至关重要的。Esper的工作原理是通过接收并分析流式数据,然后对满足特定条件的事件执行预定义的操作。这些条件...

    esper reference4.6.0

    聚合和分组功能则进一步增强了Esper对事件流的深度分析能力,通过聚合相似事件或按指定字段分组,可以揭示事件之间的关联性和规律性。 #### 上下文与上下文分区 Esper还支持上下文和上下文分区的概念,允许用户...

    Esper引擎使用演示

    Esper的核心功能是通过其特有的EPL(Esper事件处理语言)来编写规则和表达式,这些规则能够对事件流进行分析和响应。 在Java应用中集成Esper,首先需要在项目中引入Esper的依赖库。Esper提供了一个丰富的API,其中...

    esper所有jar包

    Esper 是一个强大的事件处理引擎,它主要用于实时流数据处理,尤其在复杂事件处理(CEP,Complex Event Processing)领域有着广泛的应用。Esper 提供了一种编程模型,允许开发者在持续流入的数据流中识别模式、趋势...

    基于Esper教程范例代码的JavaEsper代码

    Esper是一种实时复杂事件处理(CEP)引擎,它允许开发者在Java应用程序中处理和分析持续流入的数据流,从而识别...通过理解和实践这个示例,开发者可以掌握Esper的基本用法,并将其应用到更复杂的实时事件处理场景中。

    Esper overview

    ### 复杂事件处理(Complex Event Processing, CEP)与 Esper 概览 #### 一、复杂事件处理...通过结合事件处理语言 EPL 和高效的执行机制,Esper 成为实现快速响应、高度定制化的实时数据分析解决方案的理想选择。

    基于Storm+Esper架构实现的证券异常交易行为监控系统源码+项目说明(支持金证交易系统的指令拦截 、复制与解析).zip

    【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学...基于Storm+Esper架构实现的证券异常交易行为监控系统源码+项目说明(支持金证交易系统的指令拦截 、复制与解析).zip

Global site tag (gtag.js) - Google Analytics