Qwen3 惊喜上线阿里云百炼,8款模型全开源!点击免费领取 800万 tokens! 了解详情
写点什么

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

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

关注

评论

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

正式起航!用友23大行业客户与解决方案事业部全面亮相

用友BIP

用友BIP

TiDB PPT玩家快速点评 V6.5 新特性

TiDB 社区干货传送门

版本测评

【新春特惠周末班】2月4-5日在线CSPO“价值交付课程” | 全国招生

ShineScrum

产品负责人 CSPO认证 CSPO

如何通过Java代码在PDF中插入、替换或删除图像?

在下毛毛雨

Java PDF 图像

有什么方法从 PostgreSQL 数据迁移到 TiDB ?

TiDB 社区干货传送门

迁移 实践案例 管理与运维

模块二作业 (架构实战训练营)

Justin

架构实战营

Datawhale学习笔记【阿里云天池 金融风控-贷款违约预测】Task2 数据分析

一颗小树

设计文档概述

五毛

设计原则

开源SPL强化MangoDB计算

石臻臻的杂货铺

开源 SPL

TiCDC 源码解读(4)-- TiCDC Scheduler 工作原理解析

TiDB 社区干货传送门

TiCDC 源码解读

【最佳实践】TiDB 同步&迁移实战 (从 MySQL/Oracle/PostgreSQL/MongoDB 到 TiDB )

TiDB 社区干货传送门

KaiwuDB CTO 魏可伟:1.0 时序数据库技术解读

KaiwuDB

时序数据库 多模数据库 技术优势

Transformer 再添一员,比 Swin 更强的 DiNAT

Zilliz

2022最新MySQL高频面试题汇总

程序员大彬

MySQL 数据库 计算机

视觉模型 ConvNeXt V2,结合纯卷积与MAE

Zilliz

计算机视觉

一图回顾博睿数据的2022

博睿数据

年度报告 博睿数据

QEMU与KVM架构介绍

Linux内核拾遗

Linux 虚拟化 qemu kvm

京东探索研究院 | 2023年十大科技趋势

京东科技开发者

京东 技术分享 京东云 技术预测 企业号 1 月 PK 榜

“祝福海报”小程序走红,AIGC走进“千家万户”

科技热闻

【春季2月A-CSM特惠周末班】ScrumMaster进阶课程 · CST导师亲授

ShineScrum

敏捷教练 高阶SM 敏捷教练技能

深入浅出学习透析Nginx服务器的架构分析及原理分析「底层技术原理+运作架构机制」

码界西柚

nginx 负载均衡 反向代理 优化架构

TiDB CDC v6.5.0 新特性实践

TiDB 社区干货传送门

实践案例 新版本/特性发布 6.x 实践

KaiwuDB 数据服务平台 1.0 产品详解

KaiwuDB

时序数据库 多模数据库 数据服务平台

Electron打包错误的踩坑小记

茶无味的一天

前端 Electron Node electron实战

全球化商家平台技术探索与演进

阿里技术

全球化 架构演进

我理解的卓越工程

agnostic

卓越工程

企业数字化转型,工具先行

飞算JavaAI开发助手

赛意信息张成康:在行业场景驱动下为企业创造数字化价值

科技热闻

湖仓一体电商项目(十七):业务实现之编写写入DIM层业务代码

Lansonli

湖仓一体电商项目

【春季2月CSM认证周末班】提前报名特惠--“全球金牌”课程CST导师亲授

ShineScrum

ScrumMaster 项目经理 ScrumMaster认证 CSM认证

喜报|HarmonyOS开发者社区连获业内奖项,持续深耕开发者生态

HarmonyOS开发者

HarmonyOS

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