硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

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

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

关注

评论

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

企业放弃TeamViewer转投贝锐向日葵企业版:性能价格向日葵均有优势

科技热闻

跨境卖家必看!2025年1688API新功能解锁全球供应链

tbapi

1688商品详情接口 1688商品列表接口 1688API 1688寻源通API

Redis 是单线程模型?|得物技术

得物技术

html 前端 Bootstrap Studio mac

时序数据库 TDengine 助力华锐 D5 平台实现“三连降”:查询快了,机器少了,成本也低了

TDengine

数据库 tdengine 时序数据库

AI进行时,AlphaGPT引领法律服务新时代

科技汇

短短一年,是什么让移动AI颠覆想象?

脑极体

AI

TiDB最佳实践之深度巡检指引

TiDB 社区干货传送门

实践案例 集群管理 管理与运维 故障排查/诊断 TiDB第四届征文-运维开发之旅

如何测试DNS解析状态是否正常?

国科云

1688商品列表API接口全解析:从关键词搜索到分页处理方案

tbapi

1688商品列表接口 关键词搜索1688商品接口 1688API 1688数据采集

AI阅读APP的核心功能

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

软件外包公司 AI英语学习 AI阅读

降门槛提效率,激活大促优质增长——2025年“618”大促全周期观察

易观分析

VKProxy新增速率限制功能

八苦-瞿昙

黑龙江腾讯云:科技赋能,助力龙江新发展

等保测评

MySQL派生表查询大数据量无结果问题分析与解决

GreatSQL

合合信息发布业内首个AI Agent跨平台云资源智能管理终端

合合技术团队

人工智能 大数据 算法

《HarmonyOSNext性能飞跃秘籍:响应优化0.1秒生死线必备指南》

Turing_010

仅32B,昆仑万维开源「自主代码智能体模型Skywork-SWE-32B」,拿下代码开源SOTA

新消费日报

智慧园区系统(源码+文档+讲解+演示)

深圳亥时科技

大数据-17 Flume 分布式日志收集 实时采集引擎 Source Channel Sink 串行复制负载均衡

武子康

大数据 hadoop flume

AI教育APP的开发

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

AI教育 软件外包公司 AI英语学习

《HarmonyOSNext教育应用性能飞跃:ArkTS长列表优化5大实战指南》

Turing_010

告别低效,Alpha引领法律智能检索新时代

科技汇

项目管理利器:甘特图的全面解析与应用指南

敏捷开发

甘特图 #项目管理

利用 Amazon Bedrock 构建高效 SEO 内容生成系统:从流量挖掘到智能创作

亚马逊云科技 (Amazon Web Services)

时序数据库 TDengine × Power BI:高频数据也能秒级响应

TDengine

数据库 tdengine 时序数据库

从API测试看企业系统性落地AI的鸿沟

思码逸研发效能

研发效能 智能测试 API 测试 研发效能管理 思码逸

时序数据库 TDengine 通过麒麟全系列兼容性认证,稳了!

TDengine

数据库 tdengine 时序数据库

别划走!选择无代码平台的10个理由!

积木链小链

数字化转型 无代码 无代码平台

Selenium — Playwright 自动化测试框架

测试人

二级等保

等保测评

什么是数字化创新?数字化创新能给企业带来什么好处?

优秀

数字化 数字化创新 数字化赋能升级

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