写点什么

通过 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:592558
用户头像

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

关注

评论

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

Eagle for Mac(图片管理工具) 1.9.2永久激活版

mac

苹果mac Windows软件 Eagle 图片素材管理软件

Compressor for Mac(视频转码工具) 4.7永久激活版

mac

windows 苹果mac Compressor 视频压缩和转码软件

移动UI交互设计与动效制作

坚果

设计 UI 坚果派

基于阿里云服务网格流量泳道的全链路流量管理(二):宽松模式流量泳道

阿里巴巴云原生

阿里云 云原生 网格

2023 年最受欢迎的 12 款 Chrome 浏览器扩展

南城FE

前端 浏览器 Chrome Extension

Parallels Desktop 18 for Mac破解版:丰富的特性和便捷的体验

iMac小白

记一次本地环境启动不了Mysql的故障

DoHornBurg

Java MySQL hyper-v

基于 ACK One 实现简单的跨云协同,让业务管理更高效

阿里巴巴云原生

阿里云 容器 云原生

机密计算容器前沿探索与 AI 场景应用

阿里巴巴云原生

阿里云 容器 云原生

关于DDOS,有什么方法解决

德迅云安全杨德俊

DDoS 服务器安全 游戏安全 网站安全

全面的开发者文档和用户目标解析:API 文档指南和开发者旅程

小万哥

程序人生 软件工程 后端开发 API文档 技术写作

GraphPad Prism 10 for Mac(统计分析绘图软件) v10.0.0.3注册激活版

mac

苹果mac Windows软件 GraphPad Prism 统计和绘图软件

AI元年:一名前端程序员的技术之旅

Serenade

#前端

架构决策的弹性

agnostic

架构决策

文心一言 VS 讯飞星火 VS chatgpt (163)-- 算法导论13.1 3题

福大大架构师每日一题

福大大架构师每日一题

Photoshop Elements 2020 for Mac(图形处理软件) v18.0(2020.01.20)永久激活版

mac

苹果mac Windows软件 Photoshop Elements 2020 图形处理工具 ps elements

怎么"黑"了ChatGPT?

Bob Lin

人工智能 openai ChatGPT GPT-4 #LangChain

Keka for Mac激活版下载:轻松解压缩,畅享文件管理

iMac小白

从学习到实践——火山引擎多媒体处理框架BMF的深度探索

熬夜磕代码、

FlowJo 10 for Mac特别版:流式细胞分析的强大助手

iMac小白

E3PO: 探索360°视频流传输的未来

不会算法。

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