写点什么

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

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

关注

评论

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

大模型训练:预训练模型与数据标准化

百度开发者中心

深度学习 #人工智能 LLM

数据的力量:Web3 游戏运营指南

Footprint Analytics

区块链游戏 游戏运营 Web3 游戏

LCM:大大加快生成高质量图像的新方法

互联网工科生

图像生成 LCM

inBuilder低代码平台新特性推荐-第十三期

inBuilder低代码平台

开源 低代码

瑞技案例 | 优雅焕新,Neat 重塑法国再保险混合办公体验

Bytebridge

混合办公 Neat 会议室升级 瑞技科技 Bytebridge

大型语言模型在实体关系提取中的应用探索

数由科技

Embedding LLM rag 实体关系识别

淘宝商品详情接口在电商运营中的应用实例

Noah

数据“库”的增删改查

小齐写代码

2023年度项目深入探索:AI与大模型在实际应用中的全景

数字扫地僧

C++空类的那点事儿

树上有只程序猿

C++ 空类

浪潮信息存储助力企业智能化变革

财见

淘宝API接口申请指南

联讯数据

it统一运维平台怎么样?有可以推荐的品牌吗?

行云管家

IT运维 安全运维 统一运维

开源大模型与微调策略概览

百度开发者中心

大模型 #人工智能 LLM

智能LED屏幕未来升级方向

Dylan

个性化 定制化 LED显示屏 全彩LED显示屏 led显示屏厂家

亚马逊云科技宣布推出四项Zero-ETL集成特性

财见

盘点那些国际知名的黑客(下篇)

禅道项目管理

互联网 黑客 计算机网络

苹果万能视频播放器 Elmedia Video Player Pro中文最新版

胖墩儿不胖y

Mac软件 视频播放器 视频播放

10 | 递归:如何用三行代码找到“最终推荐人”.md

鲁米

一种全新的日志异常检测评估框架:LightAD

华为云开发者联盟

人工智能 机器学习 深度学习 华为云 华为云开发者联盟

行云创新:与德国汽车业交流Catena-X数据空间技术有感

行云创新

平台工程 行云创新 Catena-X 云原生平台工程 数据共享空间

商城开发

Geek_8da502

DevSecOps研讨会年终专场来啦!邀您共探如何打好DevOps基础,赋能创新

龙智—DevSecOps解决方案

NFTScan | 11.27~12.03 NFT 市场热点汇总

NFT Research

NFT NFT\ NFTScan

09 | 队列:队列在线程池等有限资源池中的应用

鲁米

金融大模型的微调实战

百度开发者中心

金融 大模型 #人工智能

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