写点什么

通过 Esper 探索事件驱动架构

  • 2007-05-31
  • 本文字数:958 字

    阅读完需:约 3 分钟

在 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

2007-05-31 23:592920
用户头像

发布了 27 篇内容, 共 10.8 次阅读, 收获喜欢 15 次。

关注

评论

发布
暂无评论
发现更多内容

YashanDB数据库安全漏洞防护及修复方法

数据库砖家

YashanDB数据库安装步骤及配置指南

数据库砖家

YashanDB数据库备份安全加固教程

数据库砖家

YashanDB数据库安全管理及监控系统构建

数据库砖家

YashanDB数据库安全加固及权限控制实践

数据库砖家

YashanDB数据库安全审计系统配置及应用

数据库砖家

区块链音乐NFT项目运营

北京木奇移动技术有限公司

区块链开发 软件外包公司 音乐NFT

YashanDB数据库安全漏洞检测与修复方法

数据库砖家

YashanDB数据库安全审计功能介绍与应用

数据库砖家

YashanDB数据库安全审计实用指南

数据库砖家

YashanDB数据库帮助企业降低数据管理成本的策略

数据库砖家

MyEMS:赋能能源精细化管理的技术利器

开源能源管理系统

开源 能源管理系统

景聚焦:甲方常见业务需求与低代码快速响应实践

星云低代码中间件

低代码 数字化转型 企业开发系统 企业系统

NocoBase 本周更新汇总:优化及缺陷修复

NocoBase

开源 低代码 零代码 无代码 版本更新

谙流 ASK:告别 Kafka 运维救火,解锁流数据自治时代

AscentStream

YashanDB数据库安全管理实施策略

数据库砖家

YashanDB数据库安全加固教程,防范潜在数据威胁

数据库砖家

YashanDB数据库安全加固指南

数据库砖家

YashanDB数据库安全特性及风险防控策略解析

数据库砖家

大数据-75 Kafka 高水位线 HW 与日志末端 LEO 全面解析:副本同步与消费一致性核心

武子康

Java 大数据 kafka 架构 分布式

聚焦科技前沿,华金证券与非凸科技共探数智交易新路径

非凸科技

仓颉之包与异常处理的智慧战场

华为云开发者联盟

仓颉 华为开发者空间

“用友BIP 5”重磅发布,让AI在企业应用落地

新消费日报

YashanDB数据库安全合规性实践指南

数据库砖家

YashanDB数据库安全加固及入侵防护指南

数据库砖家

YashanDB数据库安全配置及风险防范措施

数据库砖家

YashanDB数据库安全设置及权限管理教程

数据库砖家

AI重塑工程实践:对齐自主性如何提升团队效能

qife122

领导力 工程管理

MyEMS:智能能源管理的创新解决方案

开源能源管理系统

开源 能源管理系统

YashanDB数据库安全加固的实用技巧

数据库砖家

YashanDB数据库安全体系建设及管理经验分享

数据库砖家

通过Esper探索事件驱动架构_Java_Ian Roughley_InfoQ精选文章